如何进行二进制、十进制与十六进制互相转换?看这篇就够了

JsonTool
订阅
充电
|

为什么需要进制转换?

在计算机里,数据的底层表示是二进制,而人类习惯使用十进制。程序员和学生经常要在二进制、十进制、十六进制之间切换:

  • 二进制(base-2):计算机底层表示
  • 十进制(base-10):日常数字系统
  • 十六进制(base-16):简洁表示二进制,常见于地址、颜色值、内存调试

二进制转十进制

例子 1:1011₂ → ?₁₀

步骤:

  1. 从右往左标注权值:1, 2, 4, 8 …

  2. 逐位乘以权值再求和:

    1
    1×8 + 0×4 + 1×2 + 1×1 = 8 + 0 + 2 + 1 = 11
  3. 所以 1011₂ = 11₁₀

例子 2:110010₂ → ?₁₀

1
2
3
= 1×32 + 1×16 + 0×8 + 0×4 + 1×2 + 0×1
= 32 + 16 + 0 + 0 + 2 + 0
= 50

十进制转二进制

例子 1:25₁₀ → ?₂

步骤:连续除以 2,记录余数,逆序排列。

1
2
3
4
5
6
25 ÷ 2 = 12 余 1
12 ÷ 2 = 6 余 0
6 ÷ 2 = 3 余 0
3 ÷ 2 = 1 余 1
1 ÷ 2 = 0 余 1
逆序:11001₂

所以 25₁₀ = 11001₂


十进制转十六进制

例子 1:255₁₀ → ?₁₆

  1. 除以 16,记录余数:

    1
    2
    255 ÷ 16 = 15 余 15
    15 ÷ 16 = 0 余 15
  2. 余数 15 用十六进制字母 F 表示

  3. 结果:FF₁₆

例子 2:1023₁₀ → ?₁₆

1
2
3
4
1023 ÷ 16 = 63 余 15 (F)
63 ÷ 16 = 3 余 15 (F)
3 ÷ 16 = 0 余 3
结果:3FF₁₆

十六进制转十进制

例子 1:1A₁₆ → ?₁₀

1
2
3
= 1×16 + A(10)×1
= 16 + 10
= 26

例子 2:2F₁₆ → ?₁₀

1
2
3
= 2×16 + F(15)×1
= 32 + 15
= 47

二进制转十六进制

方法:每 4 位二进制对应 1 位十六进制

例子 1:10111100₂ → ?₁₆

  1. 从右起分组:1011 1100
  2. 转换:1011₂ = B₁₆, 1100₂ = C₁₆
  3. 结果:BC₁₆

例子 2:11111111₂ → ?₁₆

1
2
3
1111 = F
1111 = F
结果:FF₁₆

十六进制转二进制

方法:每个十六进制位直接展开为 4 位二进制

例子 1:2D₁₆ → ?₂

1
2
3
2 → 0010
D(13) → 1101
结果:00101101₂

例子 2:7F₁₆ → ?₂

1
2
3
7 → 0111
F → 1111
结果:01111111₂

FAQ:常见问题

Q: 为什么程序员常用十六进制表示二进制?
A: 因为 1 个十六进制位正好对应 4 个二进制位,表示更简洁,调试/存储更直观。

Q: 自定义进制支持多少?
A: JavaScript 的 parseInttoString 支持 2–36 进制,更高进制需要自定义字符集。

Q: 大数怎么办?
A: 现代语言支持 BigInt,可处理任意长度的二进制/十六进制串。

总结

本文整理了常见的 二进制 ↔ 十进制 ↔ 十六进制 的互转例子,涵盖了手算步骤和直观方法。
无论是学习计算机原理,还是写代码处理数据,理解这些转换都非常重要。

如果需要快速计算,可以使用:

🔧
在线进制转换器
json.itzhai.com

支持二进制/十进制/十六进制/任意进制,大数 BigInt,实时联动。