进制转换在线 - 二进制、八进制、十进制、十六进制
在线使用 BigInt 精确转换二进制、八进制、十进制和十六进制非负整数,适合排查权限位、颜色值、协议字段和调试输出。
功能特点
- 在二、八、十、十六进制之间用 BigInt 同步换算整数
- 拒绝与所选基数不匹配的字符,避免把非法数字当有效输入
- 展示权限位、颜色通道和协议字段常见的表示关系
使用方法
- 选择输入基数并粘贴不带前缀、符号或小数点的非负整数
- 核对二、八、十、十六进制的完整 BigInt 转换结果
- 结合目标协议的位宽、符号与补码规则解释数值
示例输入
颜色值拆解
255 / FF / 11111111适合在十进制、十六进制和二进制之间核对同一个数值。
权限位排查
755适合把八进制权限值转换成十进制或二进制辅助理解。
十六进制字段换算
输入进制:16 输入:FF当前页面按 BigInt 输出二进制 11111111、八进制 377、十进制 255 和十六进制 FF;输入不应带 0x 前缀。
前缀输入错误
输入进制:16 输入:0xFF当前校验只接受纯数字或 A-F 字符,不接受 0x、0b、0o 前缀,因此会显示 Invalid number for selected base。
示例输出
颜色值拆解
十进制 255 = 十六进制 FF = 二进制 11111111权限位排查
八进制 755 = 十进制 493 = 二进制 111101101十六进制字段换算
二进制:11111111 八进制:377 十进制:255 十六进制:FF前缀输入错误
错误:Invalid number for selected base
常见错误
- 把带前缀的 0x、0b、0o 与纯数字混用时,应先确认当前输入进制。
- 当前实现使用 BigInt 保存整数精度,但固定协议仍需确认位宽、符号和溢出规则。
- 负数、浮点数和整数进制转换是不同问题,不要把小数直接当作普通整数处理。
适用场景
- 二进制字段排查
- 颜色通道换算
- 权限值理解
- 协议示例转换
实操检查
先选输入基数,再提交纯数字
转换器按所选基数校验字符并用 BigInt 计算四种表示;输入 0x、0b 或 0o 前缀会被当前校验拒绝,应先移除前缀再转换。
转换结果还要回到协议语境
得到数值后仍需确认字段是有符号还是无符号、采用多少位宽、是否使用补码以及字节序;页面的数值换算不会自动推断这些协议规则。
页面专属核验
使用前与操作中
- 先选择输入基数 2、8、10 或 16,并按非负整数输入;当前实现接受纯数字/十六进制字符,不接受 `0b`、`0o`、`0x` 前缀或负号。
- 大整数换算可依赖 BigInt 保持精度,但先确认目标协议是否要求固定宽度、补零、符号位或两补数,而不是直接采用规范化字符串。
- 遇到所选基数不允许的数字、空值或混合前缀时,保留错误并修正输入;不要把转换失败当成十进制自动推断。
结果出来后
- 十进制 `255` 是否得到二进制 `11111111`、八进制 `377`、十进制 `255` 和大写十六进制 `FF`?
- `ff` 作为 16 进制是否与 `102` 作为 2 进制一样按所选基数校验,并在非法时显示 `Invalid number for selected base`?
- 结果是否需要按寄存器/权限位/颜色字段补齐到 8、16 或 32 位,或解释负数的符号表示,而不是直接使用 BigInt 的无前导零结果?
相关工具
工具边界
- 进制转换关注整数表示,不替代浮点数、定点数、字节序或协议字段的完整解析。
- 当前实现使用 BigInt 保持整数精度,但不接受负数、小数、0x/0b/0o 前缀或带分隔符的输入。
与相似工具的区别
- 颜色转换:进制工具用 BigInt 转换通用非负整数;颜色工具理解 HEX/RGB/HSL 通道,能区分色值语义和通道范围。
安全与兼容性
- 换算在浏览器内以 BigInt 完成,可避开 Number 安全整数丢失;超长输入仍会消耗内存并应在目标协议按位宽复核。
- 负数的二进制补码宽度由协议和语言决定,当前工具不接受负号,也不能推断 8、16、32 或 64 位含义。
下一步排查
- 先确认输入进制,移除前缀,并确认业务是否需要有符号整数、小数或固定字段长度。
- 协议或权限问题继续结合文本编码、颜色和 Headers 工具核对上下文。
- 涉及大整数、金额或二进制协议时用目标运行时和真实样本进行二次验证。
常见问题
0x、0b 和 0o 分别代表什么?
它们通常分别表示十六进制、二进制和八进制前缀,但具体解析仍要以目标语言或工具的语法为准。
这个工具适合处理金额吗?
不建议直接依赖 JavaScript 普通数字处理高精度金额;大整数和小数应使用目标语言的高精度库验证。