手机版 | 登陆 | 注册 | 留言 | 设首页 | 加收藏
当前位置: 网站首页 > 精彩文章 > 文章 当前位置: 精彩文章 > 文章

关于十进制转任意进制算法的理解

时间:2018-10-02    点击: 次    来源:网络    作者:佚名 - 小 + 大

首先我们要先明白进制是怎么表示的,就拿二进制来举例吧

101011等价于十进制中的43

也就是1*2^0+0*2^1+1*2^2.....=43

那么我们考虑他的逆过程,把十进制转化为2进制就可以这样来看

首先%2 这样就可以取出1位,然后/2方便下次取末位,每次都取1位直到原数除以2向下取整等于0时停止。

其实这个过程就相当于是快速幂中的二进制拆分啊

此时再把取出的位的值按取的顺序的逆序输出来,就是对应的二进制了。算法复杂度log2(n)

至于为什么/2然后在%2 这样就可以取出1位的证明;请看图片吧



上一篇:庆祝1s下载站今日开站!

下一篇:NOIP2018初赛复习之栈类问题与卡特兰数

备案ICP编号  |   QQ:3558389921  |  地址:山东济南  |  电话:暂不提供  |  
Copyright © 2018 天人文章管理系统 版权所有,授权down1s.com使用 Powered by 55TR.COM