二进制转十进制

二进制数按 2 的幂工作:每个值为 1 的位都会加上其所在位的权重,所以 1010 就是 8 + 2 = 10。这个转换器会为你按两个方向完成这个求和。粘贴一个二进制数或十进制数,选择方向,即可立即读取转换后的值。适合核对作业答案、解读位标志,或确认调试器打印出的数值。

转换器的使用方法

  1. 1

    输入一个数字

    输入一个二进制数(只能包含 0 和 1)或一个十进制数(只能包含数字)。前导零没问题,但不接受空格、下划线或第二个数值。

  2. 2

    选择方向

    二进制转十进制将输入解释为无符号的 base-2 数字。十进制转二进制则把普通整数转换回二进制形式。

  3. 3

    读取结果

    转换后的值会显示在输入框旁边。在二进制模式下,每个 `1` 位贡献其所在位的权重,因此 `1010` 会变成 8 + 2 = 10。

  4. 4

    复制或再次转换

    用复制按钮取走结果,或修改输入,转换会立即更新。

计算示例:1011 0101

位的位置 7 6 5 4 3 2 1 0
权重 128 64 32 16 8 4 2 1
位值 1 0 1 1 0 1 0 1
贡献 128 0 32 16 0 4 0 1

总和:128 + 32 + 16 + 4 + 1 = 181

按位宽速查

  • 4 位(半字节):最大值 15
  • 8 位(字节):最大值 255
  • 16 位(short):最大值 65,535
  • 32 位(无符号 int):最大值 4,294,967,295
  • 64 位(无符号 long):最大值 18,446,744,073,709,551,615

有符号与无符号

该转换器默认把二进制输入当作无符号数处理。对于采用二进制补码的有符号数,在固定位宽的字中,最高位为 1 表示负值:把每一位取反,加一,再对结果取负。转换器没有有符号模式,也没有位宽选择器,因此需要解读有符号值时请自行计算,或使用专门的工具。

精度限制

最多 63 位的值可以精确转换。更大的输入使用浮点运算处理,因此极大数值的末尾几位可能丢失精度,且最高位为 1 的 64 位值会被当作无符号数读取。

常见问题

在二进制模式下只接受数字 0 和 1。空格、下划线、字母或标点会使输入无效,且不显示任何结果。在十进制模式下只接受 0 到 9 的数字。

最多 63 位的值可以精确转换。更大的输入使用浮点运算转换,可能丢失精度,因此请仔细核对非常大的结果,尤其是最高位为 1 的 64 位数值。

因为转换器把二进制解释为无符号数。在二进制补码下,8 位字中的 11111111 表示 -1;要得到这种读法,请自行计算有符号解释,或使用带符号模式的工具。

不可以,转换器一次只接受一个值。请逐个转换每个数字,或使用电子表格函数(如 BIN2DEC)进行批量转换。

相关工具

此工具还提供其他语言版本