关于进制转换
进制(Numeral System)是数字的表示方法,计算机科学中常见的进制包括二进制(Base 2,0-1)、八进制(Base 8,0-7)、十进制(Base 10,0-9)、十六进制(Base 16,0-9 + A-F)。不同进制适用于不同场景:二进制是计算机底层运算基础,八进制用于 Unix 文件权限,十六进制广泛用于内存地址、颜色编码、哈希值表示等。
在编程中,开发者经常需要在各种进制之间转换:调试位运算时查看二进制表示、阅读汇编代码时进行十六进制与十进制互转、配置文件权限时使用八进制、网络协议分析时进行多进制计算等。手动计算既繁琐又易错,借助专门的转换工具可以瞬间完成。
本进制转换工具支持二进制、八进制、十进制、十六进制之间的相互转换,自动识别输入数字的进制(通过前缀 0b、0o、0x 区分),一次输入即可获得四种进制的表示结果。所有转换在浏览器本地完成。
核心特性
四进制一键转换
输入任意进制数字,立即获得二进制、八进制、十进制、十六进制四种表示。
前缀自动识别
支持 0b(二进制)、0o(八进制)、0x(十六进制)前缀,无前缀默认十进制。
大小写不敏感
十六进制字母 A-F 与 a-f 均可识别,转换结果统一为大写形式。
本地处理无上传
所有进制转换在浏览器内完成,不依赖任何外部 API。
使用场景
调试位运算
编写位运算代码时,查看数字的二进制表示,理解 <<、>>、&、| 等运算的结果。
阅读汇编代码
阅读 ARM、x86 等汇编代码时,进行十六进制与十进制互转,理解内存地址与立即数。
配置文件权限
Unix / Linux 文件权限(如 755、644)以八进制表示,转换工具帮助理解权限位含义。
网络协议分析
分析 TCP / IP、HTTP 等网络协议时,进行十六进制数据包与十进制数值互转。
常见问题
为什么 0b 前缀的二进制数被识别为十进制?
请确保输入完整前缀,0b 必须紧跟二进制数字(如 0b1010)。如果只有 0b 而无后续数字,或包含非 0/1 字符,会被解析为十进制。
支持负数吗?
当前版本不支持负数。本工具使用 JavaScript parseInt 函数解析输入,对负号的处理在不同进制下行为不一致。如需转换负数,请分别转换其绝对值后手动添加负号。
支持浮点数吗?
不支持。本工具专注于整数进制转换,浮点数在二进制中的表示涉及 IEEE 754 标准,较为复杂,建议使用专门工具。
为什么转换结果中十六进制字母是大写?
本工具将十六进制结果统一转换为大写形式(A-F),便于阅读与代码内联。JavaScript 的 toString(16) 默认输出小写,本工具在输出时调用了 toUpperCase()。