什么是Excess-3代码?

超额3码(或XS3)是一种非加权代码,用于表示用于表示十进制数字的代码。它是一种具有偏差表示的自互补二进制编码的十进制(BCD)代码和数字系统。对于算术运算而言,它特别重要,因为它克服了使用8421 BCD代码添加两个总和超过9的十进制数字时遇到的缺点。Excess-3算术使用的算法与普通无偏BCD或二进制位置数字系统不同。

多余3码的表示形式

多余的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码。

转换为二进制编码的十进制(BCD)代码 

应该注意的是,对于给定的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代码的优点

这些是Excess-3代码的以下优点,

  • 这些是未加权的二进制十进制代码。

  • 这些是自补码。

  • 这些使用偏见表示。

  • 代码0000和1111未用于任何数字,这对于存储组织是有利的,因为这些代码可能会导致传输线故障。

  • 它没有限制,并且大大简化了算术运算。

  • 这对于算术运算特别重要,因为它克服了使用8421 BCD代码添加两个总和超过9的十进制数字时遇到的缺点。