保持整数值精确,并明确有符号性
进制改变的是数值的书写方式,而不是数值本身。十进制 255、二进制 11111111、八进制 377 和十六进制 FF 表示的是同一个非负整数。位置记数法为每一位数字分配进制的一个幂次。从左往右读取时,可以将当前累计值乘以进制,再加上下一位数字,从而得出该数值。
大数值需要特别注意。普通 JavaScript 浮点数无法精确表示超过 9,007,199,254,740,991 的每一个整数。本转换器使用整数运算累积各位数字,因此像 9,007,199,254,740,993 这样的标识符能保留其末位数字。为保证工作区响应流畅,仍设有输入限制;精确运算并不意味着输入规模不受限制。
有符号位模式需要指定位宽。在八位二进制补码中,FF 表示 −1;在十六位中,00FF 表示正数 255。在此模式下,十进制输入会被解释为要编码的有符号数值。其他进制的输入则被解释为非负位模式。转换器会拒绝溢出的输入,而不会默默丢弃高位,并显示第一条有效记录的解释结果。
转换列表时,每行输入一个整数。空行会被跳过,但其行号仍会在结果中体现。无效行会附带说明,有效行则照常保留。本工具有意不支持小数、科学计数法和字节到文本的解码,因为这些任务遵循不同的规则。若要处理以二进制或十六进制字节编码的消息,请改用相关的文本转换器。