数字电子技术 - 代码转换



在数字电子技术中,我们根据数字系统的规格使用不同类型的二进制代码。为了在不同的数字系统之间进行正确的数据交换,需要执行一个重要的过程,称为代码转换

代码转换是将数字代码从一种格式转换为另一种格式的过程。代码转换被认为是计算机、微控制器、通信系统等各种数字系统中的一个重要过程。

本章我们将学习以下主要的代码转换:

  • 二进制到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

现在,将获得的十进制数转换为等效的二进制数,972 = 1111001100

BCD to Binary Code Conversion

因此,(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

将给定的二进制数转换为其等效格雷码:

Binary to Gray Code Conversion

因此,等效格雷码为(101101)格雷

格雷码到二进制转换

将格雷码转换为其等效二进制代码的过程称为格雷码到二进制转换。将给定的格雷码转换为等效二进制代码的过程按照以下步骤进行:

假设给定的格雷码为Gn Gn-1 Gn-2 … G2 G1,二进制代码为Bn Bn-1 Bn-2 … B2 B1。然后:

步骤1 - 等效二进制代码的最左位或MSB与格雷码的MSB相同,因此将其复制,即:

Bn = Gn

步骤2 - 对二进制数的MSB Bn和格雷码的下一位(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转换为其等效的二进制码。

解答

格雷码转换为二进制码的过程如下:

Gray to Binary Code Conversion

因此,(110010)gray的二进制等效码为(100011)2

BCD码到余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码 0011 1001 1000
加上0011 0011 0011 0011
XS-3码 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码 1100 1001 0110
减去0011 0011 0011 0011
BCD码 1001 0110 0011

因此,(1100 1001 0110)XS-3的等效BCD码为(1001 0110 0011)BCD

结论

总之,代码转换是将一种格式的二进制代码转换为另一种格式的过程。例如,我们可以将BCD码转换为其等效的纯二进制码,或将XS-3码转换为其等效的BCD码等等。在本章中,我们解释了不同类型的代码转换。

广告