进制转换
二/八/十/十六进制互转,BigInt 任意精度长数字不丢精度。
原文
0 字符1 行0 B
编码结果
转换结果会显示在这里
0 字符1 行0 B
使用说明
这个工具解决什么问题
看日志遇到十六进制内存地址,调协议要对二进制位标志,排查雪花 ID 想看时间戳段——进制转换是开发中的高频小操作,而普通计算器要么丢精度要么不支持互转。这个工具四进制任意互转,BigInt 保证长数字不丢位,前缀自动识别,分组显示辅助核对。
核心能力
四进制互转:2/8/10/16 任意方向。BigInt 精度:19 位以上的长 ID 不丢精度。前缀识别:0x/0b/0o 自动解析。分组显示:按位分组辅助人工核对。
使用建议
排查分布式 ID 时,把雪花 ID 转二进制看时间戳与机器段;读协议文档时,十六进制与二进制来回对照;遇到「转换结果末尾变 0」的诡异现象,先想想是不是别的工具丢了精度。
负数与超大数说明:本工具面向非负整数(ID、地址、位标志等场景);带小数或负号的输入不在支持范围。二进制结果较长时可开启分组显示,按 4 位一组核对更轻松。
常见问题
为什么长数字用普通计算器转换会丢精度?
JavaScript 的普通数字是 64 位浮点,安全整数上限约 9007199254740991(16 位)。雪花 ID、哈希值动辄 18、19 位,超过后低位会悄悄变 0。本工具用 BigInt 任意精度整数运算,多长的数字都不丢位。
十六进制里的 0x 前缀需要去掉吗?
不需要,工具能识别 0x、0b、0o 前缀并自动按对应进制解析;不带前缀时按你选择的进制处理。粘贴日志里的原始形式直接转即可。
4 位分组显示有什么用?
十六进制每两位对应一个字节,每四位对应 16 位二进制。分组显示让「这个字节是什么」一眼可辨,核对协议字段、位标志时比一长串字符友好得多。