数字电子技术 - 代码转换
在数字电子技术中,我们根据数字系统的规格使用不同类型的二进制代码。为了在不同的数字系统之间进行正确的数据交换,需要执行一个称为代码转换的基本过程。
代码转换是将数字代码从一种格式转换为另一种格式的过程。代码转换被认为是各种数字系统(如计算机、微控制器、通信系统等)中必不可少的过程。
在本章中,我们将研究以下主要代码转换 −
- 二进制到 BCD 代码的转换
- BCD 到二进制代码的转换
- 二进制到格雷码的转换
- 格雷码到二进制代码的转换
- BCD 到余 3 代码的转换
- 余 3 到 BCD 代码的转换
- 余 3 到格雷码的转换
- 格雷码到余 3 代码的转换
让我们借助示例详细了解每种类型的代码转换。
二进制到 BCD 代码的转换
BCD 代表二进制编码的十进制。因此,BCD 是以二进制格式表示的十进制数。纯二进制到 BCD 的转换按以下步骤进行 −
步骤 1 − 将给定的纯二进制数转换为其等效的十进制数。
步骤 2 −将得到的十进制数转换为 BCD 码。
让我们通过一个例子来理解二进制到 BCD 码的转换。
示例
将 (100111)2 转换为 BCD 码。
解决方案
给定的二进制是,
二进制 = 100111
给定二进制的十进制等价物是
1 × 25 + 0 × 24 + 0 × 23 + 1 × 22 + 1 × 21 + 1 × 20
= 1 × 32 + 0 × 16 + 0 × 8 + 1 × 4 + 1 × 2 + 1 × 1
= 32 + 0 + 0 + 4 + 2 + 1 = (39)10
现在,将 (39)10 转换为 BCD 码,我们得到,
(3)10 = (0011)BCD
(9)10 = (1001)BCD
因此,给定二进制数的 BCD 等价物为,
(100111)2 = (0011 1001)BCD
BCD 到二进制代码转换
BCD 到二进制代码转换是前面讨论的二进制到 BCD 代码转换的逆过程。
BCD 到二进制代码转换按以下步骤执行 −
步骤 1 − 将给定的 BCD 代码转换为其等效的十进制格式。
步骤 2 −将获得的十进制转换为等效的二进制格式。
以下示例演示了 BCD 到二进制代码的转换。
示例
将 (1001 0111 0010)BCD 转换为二进制代码。
解决方案
将给定的 BCD 代码转换为十进制等效值 −
(1001)BCD = (9)10
(0111)BCD = (7)10
(0010)BCD = (2)10
因此,给定 BCD 的十进制等价物为
(1001 0111 0010)BCD = (972)10
现在,将获得的十进制转换为等效二进制,

因此,(1001 0111 0010)BCD 的二进制等价物为 (1111001100)2。
二进制到格雷码转换
将二进制数转换为其等效格雷码的过程称为二进制到格雷码转换。我们知道格雷码是一种二进制编码方案,其中两个连续的代码仅在一位上有所不同。
将二进制代码转换为格雷码的分步过程如下 −
考虑给定的二进制代码为 Bn Bn-1 Bn-2 … B2 B1,等效格雷码为 Gn Gn-1 Gn-2 … G2 G1。然后,
步骤 1 −将二进制代码的最高有效位 (MSB) 或最左边的位 (Bn) 写为格雷码 (Gn) 的最左边的位,即
Gn = Bn
步骤 2 − 将二进制代码的 MSB (Bn) 和下一位 (Bn-1) 进行异或。将结果记录为格雷码 (Gn-1) 的下一位,即
$$\mathrm{G_{n-1} \: = \: B_{n} \oplus B_{n-1}}$$
步骤 3 −对 Bn-1 和 Bn-2 的下一位进行异或,将结果记录为格雷码 (Gn-2) 的下一位,即:
$$\mathrm{G_{n-2} \: = \: B_{n-1} \oplus B_{n-2}}$$
步骤 4 − 重复此过程,直到给定二进制代码的所有位都用尽。获得的代码将是等效的格雷码。
让我们借助一个例子来理解二进制到格雷码的转换。
示例
将 (110110)2 转换为其等效格雷码。
解决方案
给定的二进制代码为,
二进制 = 110110
将给定的二进制转换为其等效的格雷码,

因此,等效格雷码 (101101)gray
格雷码到二进制码转换
将格雷码转换为其等效二进制码的过程称为格雷码到二进制码转换。将给定的格雷码转换为等效二进制码的步骤如下 −
假设给定的格雷码为 Gn Gn-1 Gn-2 … G2 G1,二进制码为 Bn Bn-1 Bn-2 … B2 B1。然后,
步骤 1 − 等效二进制码的最左边位或 MSB 与格雷码的 MSB 相同,因此复制它,即,
Bn = Gn
步骤 2 −将二进制数 Bn 的 MSB 与格雷码的下一个有效位 (Gn-1) 进行异或。将其记录为二进制数的下一个有效位,即
$$\mathrm{B_{n-1} \: = \: B_{n} \oplus G_{n-1}}$$
步骤 3 − 将位 Bn-1 与格雷码的下一个有效位 (Gn-2) 进行异或。将结果记录为二进制数的下一个有效位,即
$$\mathrm{B_{n-2} \: = \: B_{n-1} \oplus G_{n-2}}$$
步骤 4 − 继续此过程,直到所有格雷码位都用尽。所获得的位序列将是给定格雷码的纯二进制码等效项。
让我们举一个例子来了解格雷码到等效二进制码的转换。
示例
将格雷码 (110010)gray 转换为其等效二进制码。
解决方案
格雷码转换为二进制的方法如下 −

因此,(110010)gray 的二进制等效项是 (100011)2。
BCD 到 Excess-3 码转换
将一个将给定的 BCD(二进制编码的十进制)转换为其等效的余 3 码称为 BCD 到余 3 码的转换。
要将 BCD 码转换为其等效的余 3 码,我们遵循以下步骤 −
步骤 1 − 将 0011(3)添加到给定 BCD 码的每个 4 位组。
步骤 2 − 生成的代码将是等效的 XS-3 代码。
需要注意的是,在 XS-3 代码中,有六个无效位组合。它们分别是 0000、0001、0010、1101、1110 和 1111。
让我们举一个例子来理解 BCD 到过 3 代码的转换。
示例
将 (0011 1001 1000)BCD 转换为其等效的 XS-3 代码。
解决方案
给定的 BCD 代码转换为其等效的 XS-3 代码如下所示 −
BCD Code | 0011 | 1001 | 1000 |
Adding 0011 | 0011 | 0011 | 0011 |
XS-3 Code | 0110 | 1100 | 1011 |
因此,(0011 1001 1000)BCD 的等效 XS-3 代码是 (0110 1100 1011)XS-3。
余 3 到 BCD 代码转换
将给定的 XS-3 代码转换为其等效的 BCD(二进制编码的十进制)代码的过程称为余 3 到 BCD 代码转换。
余 3 代码转换为 BCD 代码按以下步骤完成 −
步骤 1 − 从 XS-3 代码的每个 4 位组中减去 0011 (3)。
步骤 2 −生成的代码将是给定 XS-3 代码的 BCD 代码等价代码。
让我们借助示例来了解余 3 到 BCD 代码的转换。
示例
将 (1100 1001 0110)XS-3 转换为其等价的 BCD 代码。
解决方案
XS-3 代码到 BCD 代码的转换如下所示 −
XS-3 Code | 1100 | 1001 | 0110 |
Subtracting 0011 | 0011 | 0011 | 0011 |
BCD Code | 1001 | 0110 | 0011 |
因此,(1100 1001 0110)XS-3 的等效 BCD 码是 (1001 0110 0011)BCD。
结论
总之,代码转换是将二进制代码从一种格式转换为另一种格式的过程。例如,我们可以将 BCD 码转换为其等效的纯二进制码,或将 XS-3 码转换为其等效的 BCD 码等。在本章中,我们解释了不同类型的代码转换。