一个字节
11010110
D6
1101 是 13,写作 D;0110 是 6。
输入一个二进制数,即可看到它的十六进制形式,下方会显示每组四位的转换。默认打开的是 11010110,也就是 D6。
最后更新
Coddy 让你在浏览器里编写真实代码来学习:互动课程、即时反馈,卡住时还有 AI 帮忙。
四位二进制有十六种组合,正好和十六进制数字的个数相同,所以每四位刚好对应一个十六进制数字。要从右边开始分组,因为分组是在右边对齐的;如果最左边一组不足四位,就在前面补零。
要把一组换成数字,就把其中为 1 的位的位值相加,四位的位值依次是 8、4、2、1。1101 是 8 + 4 + 1 = 13,也就是 D;0110 是 4 + 2 = 6。
这就是程序员用十六进制书写二进制数据的原因。一个 32 位的值写成二进制是 32 个难以阅读的位,写成十六进制只有 8 个数字。
chmod 权限数字用的就是它。11010110
D6
1101 是 13,写作 D;0110 是 6。
101
5
补零成 0101,也就是 5。
1 0110 1011
16B
从右边分组后,左边只剩一个 1,补零成 0001,变成 1。
1111 1111 1111 1111
FFFF
每一组都是 1111,所以每个数字都是 F。它等于 65535,是 16 位能表示的最大值。
10110 从左边分组会得到 1011 和一个多余的 0;从右边分组则是 0001 0110,也就是 16。F。1111 是 8 + 4 + 2 + 1 = 15,而 15 写作 F。
80。两组分别是 1000 和 0000,也就是 8 和 0。
hex(int('11010110', 2)) 会返回 '0xd6'。在 JavaScript 中,parseInt('11010110', 2).toString(16) 会返回 'd6'。你可以在 Python 在线编辑器里运行这些转换。因为 2 × 2 × 2 × 2 = 16。四位二进制正好对应一个十六进制数字,所以转换只需要查表,不需要其他计算。