超额3码(或XS3)是一种非加权代码,用于表示用于表示十进制数字的代码。它是一种具有偏差表示的自互补二进制编码的十进制(BCD)代码和数字系统。对于算术运算而言,它特别重要,因为它克服了使用8421 BCD代码添加两个总和超过9的十进制数字时遇到的缺点。Excess-3算术使用的算法与普通无偏BCD或二进制位置数字系统不同。
多余的3位代码未加权,可以通过在每个十进制数字上加3来获得,然后可以通过为每个数字使用4位二进制数来表示。使用以下步骤可获得给定二进制二进制数的Excess-3等效项:
查找给定二进制数的十进制等效项。
在十进制数字的每个数字上加上+3。
将新获得的十进制数转换回二进制数,以获取所需的多余3等效项。
您可以将0011添加到二进制编码的十进制数字(BCD)的每个四位组中,以获取所需的多余3等效项。
这些是以下多余的三位十进制数字代码-
小数位数 | BCD代码 | 多余的3码 |
---|---|---|
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 |
代码0000和1111不用于任何数字。
示例1-将十进制数字23转换为Excess-3代码。
因此,根据多余的3码,我们需要在十进制数的两位数前加3,然后将其转换为4位二进制数,以得到每个数位的结果。因此,
= 23 + 33 = 56 = 0101 0110,对于给定的十进制数字23,这是多余的3码。
示例2-将十进制数15.46转换为多余3代码。
根据多余的3码,我们需要在十进制数的两位数前加3,然后转换为4位二进制数以得到每一位的结果。因此,
= 15.46 + 33.33 = 48.79 = 0100 1000.0111 1001对于给定的十进制数15.46,这是多余的3码。
应该注意的是,对于给定的Excess-3代码,可以通过将数字分为4位组来确定等效的十进制数,从整数部分的最低有效位开始,到小数部分的最左位开始。然后从每个四位组中减去0011(= 3),该组将是该数字的二进制十进制数字(BCD)形式。现在,您还可以通过将每个4位组转换为十进制数字来将此BCD代码转换为十进制数字。
示例- 将Excess-3代码1001001转换为BCD和十进制数。
因此,将每个组的4位分组,即0100 1001,然后从给定的数字中减去0011 0011。因此,
= 0100 1001 -0011 0011 = 0001 0110
因此,二进制编码的十进制数字是0001 0110,十进制数字将是16。
超额3码是非加权和自补码。自补二进制代码始终是对自己的补充。通过将0替换为1,将1替换为0,可以从该数字获得二进制数的补码。二进制数及其补码的总和始终等于十进制9。换句话说,多余3码的1的补码就是对应十进制数9的补码的多余3码。
例如,十进制数字5的多余3代码为1000,而1000的1的补码为0111,十进制数字4的多余3代码为9的数字5的补码。
这些是Excess-3代码的以下优点,
这些是未加权的二进制十进制代码。
这些是自补码。
这些使用偏见表示。
代码0000和1111未用于任何数字,这对于存储组织是有利的,因为这些代码可能会导致传输线故障。
它没有限制,并且大大简化了算术运算。
这对于算术运算特别重要,因为它克服了使用8421 BCD代码添加两个总和超过9的十进制数字时遇到的缺点。