BCD 8421 编码/解码

BCD(Binary-Coded Decimal)用 4 位二进制表示 1 位十进制数字,8421 是权重依次为 8、4、2、1 的最常用形式。压缩 BCD 把 2 位数字放进 1 个字节,非压缩 BCD 每字节只放 1 位数字。工具会逐码位校验,1010–1111 属非法码位并直接报错。全部处理在浏览器本地完成。

输入内容 等待输入

编码方向只接受十进制数字 0-9;解码方向按每 4 位(十六进制则每 1 个字符)解析一位数字,遇到 1010-1111 会指出具体位置。

输出结果
数字位数—
BCD 位数—
占用字节—
校验状态—
点击「编码为 BCD」或「解码为十进制」,结果将显示在这里。

编码输出按 4 位一组展示,同时给出十六进制字节表示。

处理规则
  • 编码:十进制数字串 → BCD 码位数组,1 → 0001,9 → 1001。
  • 压缩 BCD:每 2 位数字占 1 字节;位数为奇数时左侧补 1 个 0000 对齐,并在结果中标注。
  • 非压缩 BCD:每 1 位数字占 1 字节,高 4 位填充 0000 或 1111,低 4 位为数字值。
  • 解码:二进制按每 4 位、十六进制按每 1 个字符取码位,落到 1010-1111 即报错并给出序号。
  • 小数点不参与 BCD 编码,仅记录其位置;BCD 只表示十进制数字位。
  • 全部计算在浏览器本地完成,输入内容不会上传到任何服务器。