Number Base Converter
One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Ctrl+Enter Run · Ctrl+Shift+C Copy · Esc Clear
Understand Number Base Converter
在二进制、八进制、十进制和十六进制之间转换整数。
How it works
每种进制都是位置计数法:每一位数字乘以基数的相应次幂。0xFF 是(15 × 16)+ 15 = 255,而二进制的 11111111 是同一个值,由八个 1 组成。十六进制在编程中站稳脚跟,是因为它与二进制的对应是精确的——一位十六进制数字永远是四个比特——因此 0xFF 就是 11111111、0x0F 就是 00001111,无需任何算术。八进制则把比特按三个一组划分,这正是 Unix 权限使用八进制的原因:每一位数字恰好对应一组 rwx。
When to use it
- 从固件、协议规范或驱动头文件中读取位掩码或一组标志常量
- 把十六进制的颜色通道换算成十进制,或把八进制的文件权限换算成二进制位模式
- 把以某一进制显示的内存地址、寄存器值或字节偏移,与以另一进制书写的文档对照
- 完成一道计算机科学练习题,转换本身就是题目所在
Watch out for
- 不接受前缀。请输入 `FF` 而不是 `0xFF`,输入 `1010` 而不是 `0b1010`——`x` 和 `b` 在各自的进制中都不是有效数字,输入会被拒绝。
- 超过 2^53 − 1(9,007,199,254,740,991)就会丢失精度。作为一个整数粘进来的 64 位标识符、雪花 ID 或完整长度的哈希,会转换出一个看着像模像样却是错误的取整值。请把它拆开,或使用 BigInt。
- 负数以符号—数值形式显示,因此 −5 在二进制中是 −101。这不是二进制补码,而 CPU 寄存器里实际存放的正是补码(八位下为 11111011)。
- 仅支持整数。这里没有小数部分,因此 0.5 无法显示为二进制的 0.1。
Frequently Asked Questions
如何把十六进制转换成十进制?
每一位十六进制数字代表 16 的一个幂。0xFF =(15×16)+ 15 = 255。0x1A =(1×16)+ 10 = 26。工具会即时转换——在任意进制中输入,四种表示会同时更新。
编程中为什么使用十六进制?
十六进制能干净地对应二进制:一位十六进制数字正好等于 4 位二进制。因此 0xFF = 11111111(所有位置位),0x0F = 00001111(低 4 位)。这让十六进制在表示内存地址、颜色值(#RRGGBB)、位掩码和字节级协议字段时既紧凑又易读。
八进制在 Unix 权限中代表什么?
chmod 755 使用八进制:7 = 111(rwx),5 = 101(r-x)。这三位八进制数字分别对应所有者、组和其他人的权限。chmod 644 = 110 100 100 = rw-r--r--。三个权限位(读=4、写=2、执行=1)各是 2 的一个幂。
How to Use Number Base Converter
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.