编码 | 解码 | 十进制

> bcd | 十进制 | 二进制 <

// BCD - 二进制编码十进制,用于精确的小数运算

0 字符
0 字符

>> 功能

[DECIMAL]

十进制精度

保留十进制精度,避免二进制浮点舍入误差。

[4-BIT]

半字节编码

每个十进制数字都精确编码为 4 位二进制(一个半字节)。

[VARIANTS]

多种格式

支持 8421、2421、5421、Excess-3 和 Gray BCD 等编码。

>> 技术说明

BCD 的工作原理

BCD 将每个十进制数字(0–9)编码为 4 位二进制。不同的 BCD 格式使用不同的位权:8421(标准加权)、2421(自补码)、5421(五进制混合编码)、Excess-3(每位数字加 3),以及 Gray BCD(最小化相邻值之间的位翻转)。压缩 BCD 以每字节存储两个数字,提高存储效率。

BCD 格式示例

十进制: 9 5 3

8421 BCD:  1001 0101 0011
2421 BCD:  1111 1011 0011
5421 BCD:  1100 1000 0011
Excess-3:  1100 1000 0110
Gray BCD:  1101 0111 0010

压缩:     10010101 00110000
           (95)     (30)

为什么使用 BCD

  • 需要精确十进制表示的金融计算
  • 数字显示器和七段数码管解码器
  • 实时时钟电路
  • 计算器与计算芯片
  • PLC 与工业控制系统

>> 常见问题

什么是 BCD?

BCD(二进制编码十进制,Binary-Coded Decimal)是一种使用二进制位表示十进制数字的编码方式,其中每个十进制数字都用 4 位二进制表示。它适用于对十进制精度要求很高的场景。

为什么要用 BCD 而不是二进制?

BCD 可以避免十进制计算中的舍入误差,并且更容易与十进制显示直接对应。它非常适合金融等需要精确小数表示的应用。

什么是压缩 BCD?

压缩 BCD(Packed BCD)在一个字节(8 位)中存储两个十进制数字,每个半字节代表一个数字。与每个数字使用一个完整字节的非压缩 BCD 相比更省空间。

常见的 BCD 格式有哪些?

常见的 BCD 格式包括:8421(标准加权)、2421(自补)、5421(五进制混合)、Excess-3(每位数字加 3)以及 Gray BCD(减少相邻数值之间的位变化)。