关于进制
计算机在硬件层面使用二进制(0和1)。八进制(0–7)和十六进制(0–F)是编程和内存地址中常用的简洁表示法。将十进制数转换为其他进制时,反复除以目标进制并逆序读取余数。
输入一个数及其进制,一次查看四种进制的转换结果。
计算机在硬件层面使用二进制(0和1)。八进制(0–7)和十六进制(0–F)是编程和内存地址中常用的简洁表示法。将十进制数转换为其他进制时,反复除以目标进制并逆序读取余数。
把十进制数转换成其他进制时,反复用目标进制去除,再把余数倒过来读;要转换回十进制,则把每一位数字乘以它所在的位权,再全部相加。举例:十进制 255 换算成二进制是 11111111,八进制是 377,十六进制是 FF。
十六进制FF等于十进制255(15 × 16 + 15 = 255)。
二进制1010等于十进制10(1×8 + 0×4 + 1×2 + 0×1 = 10)。
十进制255等于二进制11111111(8个1,是8位字节能表示的最大值)。
二进制100等于十进制4(1×4 + 0×2 + 0×1 = 4)。
十六进制7F等于十进制127(7×16 + 15 = 127),是有符号8位字节的最大值。
十进制10是十六进制A,十六进制用A~F表示10~15。
十进制8是八进制10(一个8,个位是0)。
八进制377等于十进制255(3×64 + 7×8 + 7×1 = 255)。
| 十进制 | 二进制 | 八进制 | 十六进制 |
|---|---|---|---|
| 255 | 11111111 | 377 | FF |
| 100 | 1100100 | 144 | 64 |
| 42 | 101010 | 52 | 2A |
| 1000 | 1111101000 | 1750 | 3E8 |
| 8 | 1000 | 10 | 8 |
计算机硬件由晶体管构成,晶体管最容易可靠区分的是通电、断电两种状态,这正好对应二进制的 1 和 0。用两种状态而不是十种状态,能大幅降低信号被误读的概率。
每一位十六进制数正好对应 4 个二进制位(bit),所以 1 字节(8 位)总能用 2 位十六进制表示,比如 11111111 就是 FF。这让十六进制成为一种紧凑、便于阅读的二进制简写方式,常见于颜色代码和内存地址中。
把每一位二进制数字乘以 2 的对应次方(从右边第 0 位开始),再全部相加。例如二进制 1010 等于 (1×8) + (0×4) + (1×2) + (0×1) = 十进制的 10。
二进制只接受 0 和 1;八进制只接受 0 到 7;十进制只接受 0 到 9;十六进制接受 0 到 9 以及 A 到 F(不区分大小写)。输入其他字符会在对应进制处提示错误。
本工具只转换非负整数,不支持负数、小数(非整数值),也不支持 2、8、10、16 以外的进制。
Sources: Donald E. Knuth,《计算机程序设计艺术》第 2 卷:半数值算法(位值记数法经典文献)
最后更新: 2026-08-17