📅  最后修改于: 2020-12-30 04:23:32             🧑  作者: Mango
多余的3代码也被视为XS-3代码。超额3码是用于表示十进制数字的非加权自补BCD码。这段代码有偏见。该代码在算术运算中起着重要作用,因为它解决了当我们使用8421 BCD代码添加两个总和大于9的十进制数字时遇到的缺陷。Excess-3代码使用一种特殊的算法,该算法不同于二进制位置编号系统或正常的非偏置BCD。
只需在每个十进制数字上加3,就可以轻松获得十进制数的多余3码。然后,我们为十进制数的每一位写一个4位二进制数。我们可以通过以下步骤找到给定二进制数的多余3码:
我们也可以在十进制数字的每个4位BCD代码中添加0011,以获得多余的3码。
十进制数字的Excess-3代码如下:
Decimal Digit | BCD Code | Excess-3 Code |
---|---|---|
0 | 0000 | 0011 |
1 | 0001 | 0100 |
2 | 0010 | 0101 |
3 | 0011 | 0110 |
4 | 0100 | 0111 |
5 | 0101 | 1000 |
6 | 0110 | 1001 |
7 | 0111 | 1010 |
8 | 1000 | 1011 |
9 | 1001 | 1100 |
在多余的3代码中,代码1111和0000永远不会用于任何十进制数字。让我们以Excess-3代码为例。
1.我们找到十进制数字每一位的BCD代码。
Digit | BCD |
---|---|
3 | 0011 |
1 | 0001 |
2)然后,我们在两个BCD代码中都添加0011。
Decimal | BCD | Excess-3 |
---|---|---|
3 | 0011+0011 | 0110 |
1 | 0001+0011 | 0100 |
3.因此,十进制数字31的多余3码为0110 0100
1.我们找到十进制数字每一位的BCD代码。
Digit | BCD |
---|---|
8 | 1000 |
1 | 0001 |
6 | 0110 |
1 | 0001 |
2)然后,我们在两个BCD代码中都添加0011。
Decimal | BCD | Excess-3 |
---|---|---|
8 | 1000+0011 | 1011 |
1 | 0001+0011 | 0100 |
6 | 0110+0011 | 1001 |
3)因此,十进制数81.61的多余3码为1011 0100.1001 0100
自补二进制代码是一种总是对其自身进行补充的代码。通过替换数字的位0到1和1到0,我们找到了数字的1的补码。第一个补码与小数的二进制数的和等于十进制的9的二进制数。
注意:如果我们执行一个十进制数字的多余的3的1的补码,它将等于该十进制数字的9的补全的多余的3的代码。
例如:如果我们执行多余的3码1000的1的补码(十进制5),补码值将为0111,这是9的5补码的3的补码,即4(0111)。
Extra-3代码具有以下优点,因此需要使用它: