这里的加3不是指格雷码按照自然二进制算法加3,而是指格雷码按照格雷码算法加3。
你看到格雷码这一列。比如,格雷码0000加3,就是从格雷码0000往下数3个,得到格雷码0010,即余3格雷码0010(对应8421码0000);格雷码0011加3,就是从格雷码0011往下数3个,得到格雷码0111,即余3格雷码0111(对应8421码0010)。
8421 码,和余 3 循环码之间,还有一个《格雷码》。
8421 码中的 3 ~ 12,即为 0~9 的余 3 码:0011~1100。
把 8421 码的 0~15:0000~1111,按照异或算法,
即可变换成格雷码:0000~1000。
在格雷码中,相邻(包括首尾)两个代码之间只有一位不同。
格雷码中的 3 ~ 12,即为 0~9 的余 3 循环码:0010~1010。
余 3 码循环码,也是相邻两个代码之间只有一位不同。
它们的特点与关系,可以参考下图:
余3码是一种BCD码,它是由8421码加3后形成的,不具有有权性,但具有自补性。余3码是在8421码基础上每位十进制数BCD码再加上二进制数0011得到的。因为8421码中无1010~1111这6个代码,所以余3码中无0000~0010、1101~1111这6个代码。余3码不具有有权性,但具有自补性,余3码是一种“对9的自补码”。
余三码(余3码)【计算机】是由8421BCD码加上0011形成的一种无权码,由于它的每个字符编码比相应的8421码多3,故称为余三码。BCD码的一种。 余三码是一种对9的自补代码,因而可给运算带来方便。其次,在将两个余三码表示的十进制数相加时,能正确产生进位信号,但对“和”必须修正。修正的方法是:如果有进位,则结果加3;如果无进位,则结果减3。 如, (526)8421BCD码=(1000 0101 1001)余3码
相对应的格雷码为:
0 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
9 1101
10 1111
11 1110
12 1010
13 1011
14 1001
15 1000
那么余3循环码就是取格雷码的3到12作为自己的0-9
也就是相应的要理解余3循环码,最右边的一位按照0110顺序循环变化,右边第二位按照00111100循环变化,右边第三位按照0000111111110000循环变化,而最左边的一位则按照0000000011111111变化,首先要知道格雷码。对于十进制的0——15,由四位格雷码组成
十进制数,可以写成 8421 码。
用“异或运算”可将 8421 码转换成格雷码。
格雷码是可靠性编码。
它的相邻两组代码中,只有一位二进制不同。
其首尾两组代码也是仅有一位不同。具有这个特点,就称为循环码。
8421 码中的 3~12,就是“余 3 码”的 0~9。
格雷码中的 3~12,就是“余 3 循环码”的 0~9。
余 3 循环码来自格雷码,所以它具有格雷码的全部特点。
下图中,可以清楚的看出它们的关系和特点。