Menu

十进制转二进制转换器

输入一个整数,即可看到它的二进制形式,下方会显示每一次除以 2 的过程。默认打开的是 42,也就是 101010。

作者 Nethanel Bar, Co-founder & CEO

最后更新

准备好真正学会编程了吗?

Coddy 让你在浏览器里编写真实代码来学习:互动课程、即时反馈,卡住时还有 AI 帮忙。

十进制怎么转二进制

每次除以 2,余数都是 0 或 1,这个余数就是从右往左的下一位。以 42 为例:42 ÷ 2 = 21 余 0,21 ÷ 2 = 10 余 1,10 ÷ 2 = 5 余 0,5 ÷ 2 = 2 余 1,2 ÷ 2 = 1 余 0,1 ÷ 2 = 0 余 1。把余数从下往上读,得到 101010。这就是常说的“除 2 取余法”。

对于较小的数,还有第二种方法很好用:找出不超过它的最大的 2 的幂(42 对应 32),减去它,再对剩下的数重复这个过程(10,然后是 8,然后是 2)。在用到的每个幂下面写 1,其余写 0。

对于你输入的任何整数,转换器都会展示除法过程,并使用 BigInt 计算,所以很大的数值也能保持精确。

关于用二进制写数字需要知道的

  • 最后写下的余数是最左边的一位。
  • 偶数的二进制末位是 0,奇数的末位是 1。
  • 一个数乘以 2,相当于在它的二进制末尾加一个 0:21 是 10101,42 是 101010。
  • 128 到 255 之间的数正好需要 8 位;256 是第一个需要 9 位的数。

十进制转二进制示例

42

十进制

42

二进制

101010

42 = 32 + 8 + 2,所以 32、8、2 对应的位是 1,其余是 0。

255

十进制

255

二进制

11111111

255 比 256 小 1,所以 256 以下的每一位都是 1:八个 1。

子网掩码中的一个字节

十进制

192

二进制

11000000

192 = 128 + 64。像 255.255.255.192 这样的子网掩码,就是这样一个字节一个字节地读的。

2 的幂

十进制

1024

二进制

10000000000

1024 是 2¹⁰,所以它是一个 1 后面跟十个 0。

十进制转二进制的常见错误

  • 把余数从上往下读。第一个余数是最右边的一位,所以要从最后一个读到第一个。
  • 少除了一次。要一直除到商为 0;最后那个余数 1 就是最高位。
  • 用同样的方法转换负数或小数。负数使用补码表示,小数需要另一种方法。
  • 丢掉了固定宽度所需的前导零。5 是 101,但作为一个字节要写成 00000101。

十进制转二进制常见问题

10 的二进制是多少?

1010。10 = 8 + 2,所以 8 和 2 对应的位是 1。

100 的二进制是多少?

1100100。100 = 64 + 32 + 4。

在 Python 中怎么把十进制转成二进制?
bin(42) 返回 '0b101010',format(42, 'b') 返回不带前缀的 '101010'。在 JavaScript 中,用 (42).toString(2)。你可以在 Python 在线编辑器里运行这些转换。
一个数需要多少位?

数一数除以 2 多少次商才变成 0,这个次数就是位数。42 需要 6 位,255 需要 8 位。

了解更多

其他开发者工具

Coddy 编程语言插图

和 Coddy 一起学编程

开始