计算原理
按原进制逐位读取输入(值 = 值 × 进制 + 数字),存成任意精度整数,因此即使几百位也不会有舍入误差。然后用反复除法写成目标进制。
结果并排列出二进制、八进制、十进制和十六进制,并分组便于阅读,同时给出位长和字节长度。负数在能放进 8、16、32、64 位时还会显示补码位模式。
大于十进制时的数字
0–9 之后用字母继续表示数字:十六进制中 A = 10、B = 11 … F = 15,三十六进制一直到 Z = 35。大小写含义相同。
| 十进制 | 二进制 | 八进制 | 十六进制 |
|---|---|---|---|
| 0 | 0 | 0 | 0 |
| 1 | 1 | 1 | 1 |
| 2 | 10 | 2 | 2 |
| 7 | 111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
| 100 | 1100100 | 144 | 64 |
| 255 | 11111111 | 377 | FF |
| 256 | 100000000 | 400 | 100 |
提示
- 一位十六进制正好是 4 位二进制,一位八进制是 3 位,所以程序员用它们简写二进制。
- Unix 文件权限 755 是八进制:7 = rwx,5 = r-x。
- 三十六进制(0–9 加 A–Z)适合做短 ID:1,000,000 是 LFLS。
标准与出处
- ECMAScript 语言规范:BigInt · Ecma International(TC39)
- ECMAScript 语言规范:Number.prototype.toString(radix) · Ecma International
最后核对于 2026年10月17日
常见问题
十进制怎么转二进制?
不断除以 2,把余数倒过来读。13 ÷ 2 的余数依次为 1、0、1、1,所以 13 是 1101。本工具对任意大小都能立即算出。
十六进制怎么转十进制?
每一位乘以 16 的相应次幂再相加。FF = 15 × 16 + 15 = 255。
有大小限制吗?
用 JavaScript BigInt 计算,没有精度限制。为保持页面流畅,输入上限为 4,096 位。
能转换小数吗?
不能,只转换整数。小数部分在其他进制里往往无法终止(十进制的 0.1 在二进制中无限循环)。