进制转换器:二进制、十六进制、十进制在线互转

脚本 次阅读

数字进制基础

进制(Number Base)是计数系统的基数,决定了每一位数字有多少种可能的值。计算机科学中最常用的四种进制:

  • 二进制(Binary,Base 2):只有 0 和 1,计算机硬件的基础
  • 八进制(Octal,Base 8):0–7,Unix 文件权限的表示方式
  • 十进制(Decimal,Base 10):0–9,日常计数
  • 十六进制(Hexadecimal,Base 16):0–9 加 A–F,内存地址、颜色代码、哈希值

各进制在计算机中的应用

进制前缀典型应用
二进制0b位操作、逻辑运算、网络掩码(如 11111111.00000000)
八进制0oUnix 文件权限(chmod 755)、老式 C 语言字面量
十进制日常数学、用户界面显示
十六进制0x内存地址、颜色代码(#FF5733)、哈希值、字节序列

进制转换原理

十进制转其他进制

除目标进制取余,余数从下到上排列:

10 (十进制) 转二进制:
10 ÷ 2 = 5 余 0
5  ÷ 2 = 2 余 1
2  ÷ 2 = 1 余 0
1  ÷ 2 = 0 余 1
从下到上读余数 → 1010 (二进制)

255 (十进制) 转十六进制:
255 ÷ 16 = 15 余 15 → F
15  ÷ 16 = 0  余 15 → F
→ FF (十六进制)

其他进制转十进制

每位乘以进制的对应次方后求和:

1010 (二进制) → 十进制:
1×2³ + 0×2² + 1×2¹ + 0×2⁰
= 8 + 0 + 2 + 0 = 10

FF (十六进制) → 十进制:
15×16¹ + 15×16⁰
= 240 + 15 = 255

如何在线转换进制

使用 tool.tl 的进制转换工具

  1. 访问 tool.tl/base-converter
  2. 在任意输入框输入数字(二进制、八进制、十进制或十六进制)
  3. 其他进制表示自动实时更新
  4. 支持自定义任意进制(2–36)

编程语言中的进制字面量

# Python
bin_val = 0b1010      # 二进制 → 10
oct_val = 0o17        # 八进制 → 15
hex_val = 0xFF        # 十六进制 → 255

bin(255)    # → '0b11111111'
oct(255)    # → '0o377'
hex(255)    # → '0xff'
int('FF', 16)  # → 255 (十六进制字符串转十进制)

// JavaScript
(255).toString(2)   // → '11111111' (十进制转二进制字符串)
(255).toString(16)  // → 'ff'
parseInt('ff', 16)  // → 255 (十六进制字符串转十进制)

常见问题

十六进制中 A–F 代表什么?

十六进制(Base 16)需要 16 个符号,0–9 不够用,所以借用字母:A=10、B=11、C=12、D=13、E=14、F=15。因此 0xFF = 15×16 + 15 = 255。不区分大小写,0xff0xFF 相同。

为什么颜色代码用十六进制?

颜色的 RGB 三个通道各占 0–255(1 字节),十六进制用两位(00–FF)恰好表示一个字节,所以 6 位十六进制(如 #FF5733)可以紧凑地表示三个通道。相比十进制的 rgb(255, 87, 51),十六进制 #FF5733 更简洁。

工具是免费的吗?

是的,tool.tl 的进制转换工具完全免费,实时转换,支持 2–36 进制,无需注册。