进制转换器

结果

输入一个 2 到 36 之间任意进制的数字,转换器会显示它在其他所有常用进制中的等值:二进制、八进制、十进制和十六进制,还有最高 36 的自定义进制(此时数码会一直用到字母)。它支持带符号整数,也可以选择处理小数部分,从而在不同进制之间精确表示同一个数。

转换器的工作原理

  1. 1

    选择源进制

    告诉工具你输入的数字是用哪种进制写的。

  2. 2

    输入数值

    10 以内的进制用 0-9,数码 10 到 35 用 A-Z 表示。

  3. 3

    查看所有目标进制

    工具会转换成二进制、八进制、十进制、十六进制,以及你指定的任意自定义进制。

  4. 4

    查看计算步骤

    每一位的位值都会拆开列出,便于你核对结果或用来教学。

常见进制及其数码

进制 名称 使用的数码
2 二进制 0, 1
8 八进制 0-7
10 十进制 0-9
16 十六进制 0-9、A-F
32 Base32 0-9、A-V(RFC 4648)
36 字母数字 0-9、A-Z

用按位展开做转换

十六进制的 1A3 等于:

1 · 16² + 10 · 16¹ + 3 · 16⁰ = 256 + 160 + 3 = 419₁₀

反过来转换时,就用目标进制反复做除法,并把余数收集起来:

419 / 16 = 26 余数 3
 26 / 16 = 1  余数 10 (A)
  1 / 16 = 0  余数 1

把余数从下往上读,就得到 1A3

程序员速查

  • 二进制转十六进制: 从右往左每四位一组。11010110D6
  • 二进制转八进制: 从右往左每三位一组。11010110326
  • 十六进制转二进制: 每个十六进制数码正好对应四个比特。
  • 带符号整数: 多数转换默认按无符号处理。若使用二进制补码,位宽就很关键:0xFF 作为无符号数是 255,但作为 8 位带符号整数则是 -1。

那些冷门进制的来历

  • 十二进制(duodecimal) 曾被提议用于日常计数,因为 12 的因数很多,分起来很整齐。
  • 二十进制(vigesimal) 是玛雅数字和约鲁巴数字的基础。
  • 六十进制(sexagesimal) 至今仍活在时间和角度的计量中,源自巴比伦数学。

常见问题

36 进制是仅用数字 0-9 和字母 A-Z、且无需区分大小写的最大常用进制。62 进制通过把大写和小写字母分开计数来继续扩展,但标准化程度低得多。

支持,以带负号的有符号数形式处理。至于按位的二进制补码表示(这在编程中很重要),你需要指定位宽,因为同一个十进制的 -1 会对应 0xFF(8 位)、0xFFFF(16 位)或 0xFFFFFFFF(32 位)。

可以,但要注意:十进制的 0.1 在二进制里是一个无限循环小数(0.00011001100…),这正是浮点运算常出现微小误差的原因。工具会按你指定的位数显示小数部分。

它是一种二进制到文本的编码方式,并不是通常意义上的数字进制。它把三个字节(24 位)编码成取自 64 字符表的四个 ASCII 字符,适合通过电子邮件这类只能传文本的通道传输二进制数据。

相关工具

此工具还提供其他语言版本