要把十进制数转换成二进制,就不断除以 ,记录每一步的余数,再从下往上读取这些余数。对于非负整数,这是标准的手算方法;之所以可行,是因为二进制使用的是 的幂,而不是 的幂。
如果你在搜索十进制转二进制转换器,这就是你需要掌握的核心思路。每一位二进制数字都表示某个 的幂是否被包含: 表示包含, 表示不包含。
例如,二进制数 表示
它等于
所以,十进制转二进制本质上就是把一个数改写成若干个 的幂之和。
为什么十进制转二进制可行
在十进制中,各位依次是 、、、,依此类推。在二进制中,各位是
因为二进制只有两个数字,所以每一位只能是 或 。 表示这个 的幂被包含, 表示不包含。
这也是为什么二进制天然适合数字系统:每一位只有两种状态。
如何把 从十进制转换成二进制
对于非负整数,标准方法是反复除以 。
从 开始:
现在从下往上读取余数:
所以
你也可以用位值来验算:
快速检查的方法是列出所有标记为 的 的幂:、、 和 。它们的和是 ,所以这个转换是正确的。
为什么要倒着读余数
每一步除法得到的都是下一个最低有效位,也就是最右边的二进制位。所以第一个余数应该放在最后,而不是最前面。
你也可以通过把 表示成若干个 的幂之和来看出同样的结果。能放进去的最大 的幂是 ,还剩下 。然后 可以放进去,还剩下 。接着 可以放进去,还剩下 。最后, 也可以放进去。
于是得到
所以,、、 和 对应的位是 ,其余位是 。这样又得到 。
常见错误
从上往下读取余数
使用反复除法时,余数要从下往上读。如果从上往下读,就会得到错误的二进制数。
把整数方法用于小数
上面的除以 方法适用于非负整数。如果原来的十进制数有小数部分,那么这个小数部分需要单独使用另一种转换过程。
认为十进制小数在二进制中一定有限结束
并不是这样。例如,有些有限十进制小数在二进制中会变成循环展开。所以如果输入的不是整数,十进制转二进制转换器可能会显示近似结果。
什么时候会用到十进制转二进制
这种转换常见于计算机、数字电子、存储容量以及基于位的逻辑中。即使你在工作中从不手动转换数字,理解这些位代表什么,也能让二进制数不再那么难懂。
在读取掩码、标志位或底层示例时,它也很有用,因为其中每一位通常都表示一个开/关选择。
快速练习
试着用同样的除以 过程把 转成二进制。然后把结果展开成 的幂来验算。如果你想再进一步,可以把这个整数例子和一个十进制小数进行比较,看看为什么小数部分需要额外处理。
常见问题
- 十进制转二进制是什么意思?
- 它表示把一个以 $10$ 为底的数改写成以 $2$ 为底的数。十进制的位值基于 $10$ 的幂,而二进制的位值基于 $2$ 的幂。
- 反复除法适用于所有数字吗?
- 反复除以 $2$ 的方法可以直接用于非负整数。十进制小数的小数部分需要额外的方法,而且有些数在二进制中不会有限结束。