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

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.