二进制到BCD码转换

2025年3月17日 | 阅读 3 分钟

BCD码在数字电路中起着重要作用。 BCD代表二进制编码的十进制数。 在BCD码中,十进制数的每一位都表示为其等效的二进制数。 因此,十进制数的最低有效位和最高有效位表示为其二进制数。 将二进制数转换为BCD有以下步骤

  1. 首先,我们将把二进制数转换为十进制数。
  2. 我们将把十进制数转换为BCD。

让我们举个例子来理解将二进制数转换为BCD的过程

例1:(11110)2

1. 首先,将给定的二进制数转换为十进制数。

二进制数:(11110)2

查找该数的十进制等价物

步骤:二进制数十进制数
1)(11110)2((1 × 24) + (1 × 23) + (1 × 22) + (1 × 21) + (0 × 20))10
2)(11110)2(16 + 8 + 4 + 2 + 0)10
3)(11110)2(30)10

二进制数 (11110)2 的十进制数是 (30)10

2. 现在,我们将十进制转换为 BCD

我们将十进制数的每一位转换为四位二进制数的组。

步骤:十进制数转换
步骤 13010(0011)2 (0000)2
步骤 23010(00110000)BCD

结果

(11110)2 = (00110000)BCD

下表包含十进制和二进制数的 BCD 码。

二进制码十进制数BCD码
A B C DB4 :B3B2B1B0
0 0 0 000 : 0 0 0 0
0 0 0 110 : 0 0 0 1
0 0 1 020 : 0 0 1 0
0 0 1 130 : 0 0 1 1
0 1 0 040 : 0 1 0 0
0 1 0 150 : 0 1 0 1
0 1 1 060 : 0 1 1 0
0 1 1 170 : 0 1 1 1
1 0 0 080 : 1 0 0 0
1 0 0 190 : 1 0 0 1
1 0 1 0101 : 0 0 0 0
1 0 1 1111 : 0 0 0 1
1 1 0 0121 : 0 0 1 0
1 1 0 1131 : 0 0 1 1
1 1 1 0141 : 0 1 0 0
1 1 1 1151 : 0 1 0 1

在上表中,十进制数的最高有效位由位B4表示,最低有效位由B3、B2、B1和B0表示。 从上表可以看出,我们可以表达BCD码的不同位的SOP函数如下

Binary to BCD code conversion

以上SOP函数的K图如下

Binary to BCD code conversion
Binary to BCD code conversion
Binary to BCD code conversion
Binary to BCD code conversion
Binary to BCD code conversion

BCD到二进制转换

将BCD码转换为二进制的过程与将二进制码转换为BCD的过程相反。 将BCD码转换为二进制有以下步骤

第一步,我们将通过对四位组进行分组并找到每个组的等效十进制数,将BCD数转换为十进制数。

在最后一步,我们将使用将十进制数转换为二进制数的过程将十进制数转换为二进制数。

例1:(00101000)BCD

1) 将 BCD 转换为十进制

将 4 位数组合起来,找到等效的十进制数,如下所示

步骤:BCD码转换
步骤 1(00101000)BCD(0010)2 (1000)2
步骤 2(00101000)BCD(2)10 (8)10
步骤 3(00101000)BCD(28)10

给定BCD码的十进制数是:(28)10

2. 将十进制转换为二进制

使用长除法将十进制数转换为二进制数,如下所示

步骤:操作结果余数
1.28 / 2140
2.14 / 270
3.7 / 231
4.3 / 211
5.1 / 201

按相反的顺序排列余数。 因此,二进制数的 LSB 是第一个余数,二进制数的 MSB 是最后一个余数。

十进制数 (18)10 的二进制数是:(11100)2

结果

(00101000)BCD = (11100)2