📅  最后修改于: 2020-12-30 06:32:45             🧑  作者: Mango
BCD代码在数字电路中起着重要作用。 BCD代表二进制编码的十进制数。在BCD代码中,十进制数字的每个数字都表示为其等效的二进制数字。因此,十进制数字的LSB和MSB表示为其二进制数字。可以按照以下步骤将二进制数转换为BCD:
让我们以一个例子来了解将二进制数转换为BCD的过程
1.首先,将给定的二进制数转换为十进制数。
二进制数:(11110) 2
查找数字的十进制等效项:
Steps | Binary Number | Decimal Number |
---|---|---|
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
我们将十进制数字的每个数字转换为四位二进制数字的组。
Steps | Decimal Number | Conversion |
---|---|---|
Step 1 | 3010 | (0011)2 (0000)2 |
Step 2 | 3010 | (00110000)BCD |
结果:
(11110) 2 =(00110000) BCD
下表是包含十进制和二进制数字的BCD代码的表。
Binary Code | Decimal Number | BCD Code |
---|---|---|
A B C D | B4 :B3B2B1B0 | |
0 0 0 0 | 0 | 0 : 0 0 0 0 |
0 0 0 1 | 1 | 0 : 0 0 0 1 |
0 0 1 0 | 2 | 0 : 0 0 1 0 |
0 0 1 1 | 3 | 0 : 0 0 1 1 |
0 1 0 0 | 4 | 0 : 0 1 0 0 |
0 1 0 1 | 5 | 0 : 0 1 0 1 |
0 1 1 0 | 6 | 0 : 0 1 1 0 |
0 1 1 1 | 7 | 0 : 0 1 1 1 |
1 0 0 0 | 8 | 0 : 1 0 0 0 |
1 0 0 1 | 9 | 0 : 1 0 0 1 |
1 0 1 0 | 10 | 1 : 0 0 0 0 |
1 0 1 1 | 11 | 1 : 0 0 0 1 |
1 1 0 0 | 12 | 1 : 0 0 1 0 |
1 1 0 1 | 13 | 1 : 0 0 1 1 |
1 1 1 0 | 14 | 1 : 0 1 0 0 |
1 1 1 1 | 15 | 1 : 0 1 0 1 |
在上表中,十进制数的最高有效位由位B4表示,最低有效位由B3,B2,B1和B0表示。从上表中,我们可以表示出BOP码不同位的SOP函数如下:
上述SOP函数的K-map如下:
将BCD代码转换为二进制的过程与将二进制代码转换为BCD的过程相反。有以下步骤将BCD代码转换为Binary:
第一步,我们将BCD编号转换为十进制,方法是将四位分组,并为每个组找到等效的十进制数字。
在最后一步中,我们将使用将十进制转换为二进制数的过程将十进制数字转换为Binary。
范例1:(00101000) BCD
1)将BCD转换为十进制
组成4位数字的组,并找到等效的十进制数字,如下所示:
Steps | BCD Number | Conversion |
---|---|---|
Step 1 | (00101000)BCD | (0010)2 (1000)2 |
Step 2 | (00101000)BCD | (2)10 (8)10 |
Step 3 | (00101000)BCD | (28)10 |
给定的BCD代码的十进制数字为:(28) 10
2.将十进制转换为二进制
使用长除法将十进制数转换为二进制数,如下所示:
Steps | Operation | Result | Remainder |
---|---|---|---|
1. | 28 / 2 | 14 | 0 |
2. | 14 / 2 | 7 | 0 |
3. | 7 / 2 | 3 | 1 |
4. | 3 / 2 | 1 | 1 |
5. | 1 / 2 | 0 | 1 |
按照相反的顺序排列其余部分。因此,二进制数的LSB是头一个余数,而二进制数的MSB是最后一个余数。
十进制数(18) 10的二进制数是:(11100) 2
结果:
(00101000) BCD =(11100) 2