跳到主要内容

免费数字进制转换器

在二进制、八进制、十进制和十六进制之间转换数字。即时查看位宽适配和分组二进制输出。

加载后可离线使用
输入进制:

快速值

常见用途

  • 编程数字转换在编写代码时在二进制、八进制、十进制和十六进制之间转换——任何数字的即时参考。
  • 网络的数字转换在二进制和十进制之间转换子网掩码、端口号和IP地址八位字节。
  • 计算机科学的数字系统学习和验证二进制、八进制和十六进制转换——对CS学生和考试准备完美。
  • 检查位模式和标志将数字转换为二进制以检查单个位、位掩码和标志组合。
  • 解码十六进制转储和调试日志将崩溃报告、内存转储和调试日志中的十六进制值解码为可读的十进制。

工作原理

转换完全在你的浏览器中使用 JavaScript 内置的 BigInt 类型运行——没有库、没有服务器。之所以使用 BigInt 而不是较旧的 parseInt/Number 方法,正是为了处理大于 2^53 的值而不产生舍入误差。

  1. 1
    用 BigInt 解析输入
    自定义解析器去除可选前缀(0x、0b、0o、#)并验证所选进制的字符集,然后将清理后的字符串传给 BigInt() 构造函数,它能无损处理任意大的整数。
  2. 2
    同时进行进制转换
    得到 BigInt 值后,工具以各个基数(2、8、10、16 以及用户选择的 2–36 进制)调用 BigInt.prototype.toString(),一次生成所有输出表示——无需中间的十进制步骤。
  3. 3
    二进制分组与位宽检查
    二进制输出补齐到 4 的倍数,并按半字节分组以便阅读。工具还使用 BigInt 运算检查该值是否能放入 4、8、16 或 32 位有符号/无符号范围,因此即使在 32 位边界上,溢出行为也是精确的。
  4. 4
    可分享的网址状态
    每次有效转换后,工具通过 history.replaceState 将输入和源进制写入网址片段(#v=&from=),因此当前转换可以收藏或分享——片段绝不会发送到任何服务器。

相关工具

常见问题