进制转换器

二进制、八进制、十进制、十六进制在线互转
任意一行输入数值,四种进制转换结果实时呈现

进制转换器

程序员的日常:一行输入,四种进制同时算

二进制 BIN
八进制 OCT
十进制 DEC
十六进制 HEX
示例:

四种进制是什么

计算机世界的四种常用计数方式

二进制(BIN):只有 0 和 1,逢二进一。计算机电路只有"通电/断电"两种稳定状态,所以底层一律用二进制存储和运算,每一个 0 或 1 称为 1 位(bit)。

八进制(OCT):0~7 共八个数字,逢八进一。日常最常见的场景是 Linux 文件权限:755 表示所有者可读可写可执行(7 = rwx)、同组和其他人可读可执行(5 = r-x)。

十进制(DEC):0~9,逢十进一,日常计数方式。程序里调试接口、看日志时需要把二进制/十六进制"翻译"回十进制来理解数量大小。

十六进制(HEX):0~9 加 A~F(表示 10~15),逢十六进一。1 个十六进制位恰好等于 4 个二进制位,写起来短,所以广泛用于网页颜色(#FF6600)、内存地址、MAC 地址、哈希值等场景。

换算方法速查

手算进制转换的常用套路

二进制 → 十进制:按权展开

从右往左第 n 位的权重是 2ⁿ⁻¹。1011₂ = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 11

十进制 → 二进制:除 2 取余,倒序排列

11 ÷ 2 = 5 余 1,5 ÷ 2 = 2 余 1,2 ÷ 2 = 1 余 0,1 ÷ 2 = 0 余 1;把余数从下往上读就是 1011。

二进制 ↔ 十六进制:每 4 位一组直接查表

记住 8 4 2 1 口诀:1111 = 8+4+2+1 = F。1111 1111 ↔ FF,1010 1100 ↔ AC,不到 4 位在左边补零再分组。

二进制 ↔ 八进制:每 3 位一组

3 个二进制位恰好覆盖 0~7:11 111 111 ↔ 3 7 7 = 377₈,与十六进制同理,只是分组更短。

十六进制 → 十进制:按权展开

从右往左第 n 位的权重是 16ⁿ⁻¹。FF = 15×16 + 15 = 255,CAFE = 12×4096 + 10×256 + 15×16 + 14 = 51966。

2 的幂速记表:程序员要背的数字

2⁴=16、2⁶=64、2⁸=256、2¹⁰=1024、2¹²=4096、2¹⁶=65536、2³²=4294967296——记住它们,掩码和地址一眼就能估出来。

子网掩码实例:255.255.255.0 ↔ 0xFFFFFF00

IP 地址每一段 0~255 恰好是 2 个十六进制位:FF.FF.FF.00,写成连续十六进制就是 0xFFFFFF00,二进制为 24 个 1 加 8 个 0。

网页颜色实例:#FF6600 ↔ 255, 102, 0

十六进制颜色每两位一个通道:FF=红 255、66=绿 102、00=蓝 0,合起来是橙色 RGB(255, 102, 0),对应十进制 16737792。

常见问题

关于进制转换的常见疑问解答

为什么计算机要用二进制?
电路实现"两种状态"最稳定:高电平算 1、低电平算 0,抗干扰能力强、运算规则简单。十进制需要电路稳定区分十种电压水平,成本和可靠性都不划算,所以底层存储和运算一律是二进制。
十六进制里的 A~F 是什么意思?
逢十六进一意味着一位要能表示 0~15 共十六个数,而阿拉伯数字只有 0~9 十个符号,多出来的 10~15 就用字母补位:A=10、B=11、C=12、D=13、E=14、F=15,大小写等价。
0b、0o、0x 这些前缀是什么?
这是编程语言里进制字面量的标准写法:0b101 = 二进制 5、0o17 = 八进制 15、0x1F = 十六进制 31。本工具支持直接粘贴带前缀的值,会自动识别清洗,不写前缀按所在行的进制解析。
Linux 权限 755 是什么意思?
755 是八进制写法,每位对应一组用户的权限,每组的 3 个二进制位分别是读 r(4)、写 w(2)、执行 x(1):7 = 4+2+1 = rwx,5 = 4+1 = r-x。所以 755 表示所有者可读写执行、其他用户可读可执行。
为什么 2 的 10 次方是 1024 不是 1000?
计算机里的 K、M、G 通常按二进制口径取 2 的幂:1K=2¹⁰=1024、1M=2²⁰、1G=2³⁰。硬盘厂商按十进制 1000 标容量,所以"500G 硬盘"在系统里只显示约 465G——两种口径的差异,详见存储换算工具。
网页颜色 #FFFFFF 为什么是白色?
六位十六进制按 RGB 三通道均分,每通道两个十六进制位:FF = 十进制 255,即该通道最亮。三个通道全 255(FF FF FF)混出来就是白色;全 0(#000000)就是黑色;#FF0000 只有红通道亮,就是纯红。
支持多大的数字?
采用大数算法,不受 JavaScript 普通数字 2⁵³ 的精度限制:64 位无符号整数上限 18446744073709551616、长哈希截断值、几百位的二进制串都能精确转换,直接粘贴进来即可。

相关工具

电脑网络 · 其他常用工具