十进制转二进制(等)倒数取余法的原理
1.十进制转二进制(等)倒数取余法的原理
2.Java变量自增表达式 i = i++ 的底层逻辑(简述)十进制转二进制(等)倒数取余法的原理
我们知道:十进制转二进制(八进制等)的方法是倒数取余法,但很多同学只是死记硬背, 并不理解为什么这么做.
让我们用下面的例子来理解一下:
-
把十进制数字17转换为二进制
- 首先把17分解为$2^n$之和:$17 = 1 * 2^3 + 0 * 2^2 + 0 * 2^1 + 1 * 2^ 0$.
- 显然,在这个分解式中,每个$2^n$的系数(0或1),恰恰对应了二进制第n+1位的数字, 所以17对应的二进制写法是: 0b 0000 1001.
- 那么, 当我们把等式两边除以2的时候,除了最右侧的项$1 * 2^0$,都能被2整除. 因此, 我们得到的余数(即这一项的系数1)就是二进制右侧第1位的数字.
- 而此时等式则变成了 $8 = 1 * 2^2 + 0 * 2^1 + 0 * 2^0$ . 两侧都自动去掉了余数.
- 所以, 继续除以2, 就能逐次把最右侧项消除, 并得到其系数. 而如我们第二步所述, 这个系数, 就是二进制每一位的数字. 这就是倒数取余法的原理了.
十进制转八进制等也是同样的原理. over~
作者: 练块儿的程序员
出处:https://www.cnblogs.com/sunyujun16
本文版权归作者和博客园共有,欢迎转载,但必须保留此段声明,且在文章页面明显位置给出原文链接, 如有问题,可邮件sunyujun16@163.com咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具