二进制编码的十进制 (BCD) 加法


让我们从概述二进制编码的十进制 (BCD) 代码开始本文,然后继续讨论 BCD 加法。

什么是 BCD?

BCD二进制编码的十进制 是一种编码方案,用于以一组 4 位二进制数字的形式表示十进制数 (0 到 9)。二进制编码的十进制是将十进制数转换为等效二进制格式的最简单形式。尽管二进制编码的十进制或 BCD 与普通的二进制表示不相同。

在二进制编码的十进制 (BCD) 编码方案中,每个十进制数字都表示为一组 4 位二进制数。对于多位十进制数,十进制数的每个数字都在 BCD 中单独编码。

众所周知,一个 4 位二进制数可以表示 16 个十进制数字,但在二进制编码的十进制中,BCD 代码 1010、1011、1100、1101、1110 和 1111 等于十进制 10、11、12、13、14 和 15 被认为是非法组合。

十进制到二进制编码的十进制真值表

以下是表示从 0 到 9 的十进制数字的二进制编码的十进制 (BCD) 等效值的真值表 -

十进制数字

二进制编码的十进制代码

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001

现在让我们了解如何将给定的十进制数转换为其等效的二进制编码的十进制。

示例:十进制到二进制编码的十进制转换

以下示例显示了如何将十进制数转换为 BCD 代码 -

将 (125)10 转换为其等效的二进制编码的十进制 (BCD) 代码。

十进制数

1

2

5

BCD 权重

8

4

2

1

8

4

2

1

8

4

2

1

BCD 代码

0

0

0

1

0

0

1

0

0

1

0

1

因此,(125)10 的二进制编码的十进制为 (0001 0010 0101)。

现在,让我们讨论二进制编码的十进制 (BCD) 加法。

二进制编码的十进制加法

二进制编码的十进制加法遵循二进制算术规则,但是有一些额外的事项需要处理。两个 BCD 数的 BCD 加法按照以下步骤执行 -

  • 步骤 1 - 按照二进制加法规则执行两个 BCD 数的加法。

  • 步骤 2 - 如果结果或和是小于或等于 9 的 4 位二进制数,则该和是有效的 BCD 数。

  • 步骤 3 - 如果和是大于 9 的 4 位数,或者生成了进位,则该和是无效的。

  • 步骤 4 - 为了获得校正的结果/和,将 6 (0110) 加到 4 位无效和中。如果在添加 6 时生成了进位,则传播并将此进位加到下一组 4 位中。此步骤是为了跳过六个非法的 BCD 代码(即 1010、1011、1100、1101、1110 和 1111)。

二进制加法规则

以下是用于执行两个二进制数字的二进制加法的规则 -

第一位 第二位 结果
0 0 0 + 0 = 0;无进位
0 1 0 + 1 = 1;无进位
1 0 1 + 0 = 1;无进位
1 1 1 + 1 = 0;进位 = 1

在了解了 BCD 加法和二进制加法规则之后,让我们现在考虑一些已解决的示例,以详细了解 BCD 加法。

示例 1

在 BCD 方案中执行加法 30 + 15。

解答 - 给定的十进制数及其等效的 BCD 表示为,

(30)10 = (0011 0000)BCD

(15)10 = (0001 0101)BCD

给定数字的 BCD 加法如下 -

30

0011

0000

+ 15

+

0001

0101

45

0100

0101

示例 2

在二进制编码的十进制中执行加法 678 + 535。

解答 - 给定的十进制数及其 BCD 表示为,

  • (678)10 = 0110 0111 1000

  • (535)10 = 0101 0011 0101

BCD 加法如下 -

678

0110

0111

1000

+ 535

+

0101

0011

0101

1213

1011

1010

1101

(所有都是非法代码)

+

0110

0110

0110

(为每个添加 0110)

1 0001

1 0000

1 0011

(传播进位)

+1

1

1

0001

0010

0001

0011

(校正后的和 = 1213)

教程问题

  • 求 BCD 数 (0001 1001) 和 (0100 1000) 的和。

  • 求十进制数 25 和 35 在 BCD 中的和。

结论

总之,BCD 加法是通过将以 4 位二进制组表示的十进制数的各个数字从最右边的数字开始相加来执行的。如果和项不是非法的 BCD 代码并且没有进位输出,则不需要校正。如果和项是非法的 BCD 代码或产生了进位,则将 6 (0110) 加到该组的和项以校正结果。

更新于: 2023年8月8日

24K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告