所有进制转换均以十进制为中间桥梁分两步完成:① 源进制 → 十进制;② 十进制 → 目标进制。
其他进制 → 十进制(按权展开):
将每一位数字乘以对应的基数幂次后求和。例如十六进制 1F.8:
= 1×16¹ + 15×16⁰ + 8×16⁻¹ = 16 + 15 + 0.5 = 31.5
十进制 → 其他进制:
整数部分用短除法(除基取余,余数倒排);小数部分用乘基取整法(反复乘以目标进制,取整数位,直到小数部分为 0 或达到精度上限)。
并非所有十进制小数在其他进制下都能精确表示。例如十进制 0.1 在二进制下是无限循环小数(0.0001100110011…),这也是计算机浮点运算存在精度误差的根本原因。本工具提供 4–20 位小数精度选项,可根据需要调整。
超过 10 进制时,10 以上的数值用字母表示:
| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 |
| 十进制 | 二进制 | 八进制 | 十六进制 |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 3 | 0011 | 3 | 3 |
| 4 | 0100 | 4 | 4 |
| 5 | 0101 | 5 | 5 |
| 6 | 0110 | 6 | 6 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 9 | 1001 | 11 | 9 |
| 10 | 1010 | 12 | A |
| 11 | 1011 | 13 | B |
| 12 | 1100 | 14 | C |
| 13 | 1101 | 15 | D |
| 14 | 1110 | 16 | E |
| 15 | 1111 | 17 | F |
0b1010 — 二进制(Python / JS / PHP 5.4+)0755 — 八进制(C / PHP,以 0 开头)0o755 — 八进制(Python 3 / JS ES6+)0xFF — 十六进制(大多数语言通用)#FF5733 由三组十六进制表示 R/G/Bchmod 755 使用八进制,rwx=7, r-x=5