什么是十进制转二进制转换器?
这个工具可以把我们日常使用的十进制(base-10)数字转换成二进制(base-2),也就是计算机内部使用的"语言"。二进制只用 0 和 1 两个数字表示,每一位代表 2 的幂次。这个转换器是通用的——无论在哪个国家、对任何非负整数都同样适用。
如何使用
输入一个非负的十进制整数(例如 156),然后提交。计算器会返回对应的二进制字符串,以及它占用了多少位(bit,即二进制数位)。负数会被当作 0 处理,小数则会被截断为整数。
计算原理详解
经典的方法是"除 2 取余法"。先把数字除以 2,记录下余数(0 或 1);再用商替换原来的数字,重复这个过程,直到商为 0 为止。最后把所有记录下来的余数从下往上(即从最后一个到第一个)读出来,就得到了对应的二进制表示。
$$\text{Binary} = \sum_{i=0}^{k-1} b_i \cdot 2^{i}, \quad b_i = \left\lfloor \frac{\text{Decimal}}{2^{i}} \right\rfloor \bmod 2$$
实例演算
以转换 156 为例:\(156 \div 2 = 78\) 余 0,\(78 \div 2 = 39\) 余 0,\(39 \div 2 = 19\) 余 1,\(19 \div 2 = 9\) 余 1,\(9 \div 2 = 4\) 余 1,\(4 \div 2 = 2\) 余 0,\(2 \div 2 = 1\) 余 0,\(1 \div 2 = 0\) 余 1。把余数从下往上读:10011100。因此十进制的 156 对应二进制的 10011100(共 8 位)。
常见问题
0 用二进制怎么表示?就是 0。
一个数字需要多少位?位数等于二进制数位的个数——例如 156 需要 8 位。
可以转换负数吗?本转换器只处理非负整数;输入负数会被当作 0 处理。在实际计算机系统中,负数通常使用补码(two's complement)来表示。