BCD码的解释(8421、5421、2421、格雷码、余3码......)

1,074 阅读2分钟

BCD码的解释(8421、5421、2421、格雷码、余3码......)

对BDC(Binary-coded Decimal,二-十进制码),通过4位二进制表示1位十进制的编码,分为有权码和无权码

特殊注意事项:

  1. 一般如果没有特殊指明,BCD码单指8421码
  2. 卡诺图的每格每次都只变化一位,为按照格雷码排列
  3. 对于8421码,其不是说它是“8位二进制数,每4位1体,组成2个,1位的十进制数”,而是指其权值

有权码

有权码包括有8421码、5421码、2421码,“有权”的意思是每一位有权码都有权值,而无权码则没有

注意:一般如果没有特殊指明,BCD码单指8421码

8421码

意思是8421码的各个位权值为8、4、2、1,故8421码可以有:D=8B4+4B3+2B2+B1D = 8B_4 + 4B_3+ 2B_2+ B_1 同样5421码和2421码也是这个意思

无权码

无权码包括余3码、余3循环码、格雷码

无权码的每一位自然没有权值

余3码和余3循环码

余3码意思为将8421码的前3个码空出不用,从第四位开始算

余3循环码则为余4码第一位保持不变,将后一位与本位取异或运算,由此得到后一位余3循环码

十进制数8421余3余3循环码格雷码
00000001100100000
10001010001100001
20010010101110011
30011011001010010
40100011101000110
50101100011000111
60110100111010101
70111101011110100
81000101111101100
91001110010101101

格雷码

其任意相邻的代码只有一位二进制数不同

格雷码-二进制码

由二进制码计算格雷码:

  1. 将n位二进制码最高位BnB_n保持不变,其同样表示格雷码的最高位
  2. 再将第n-1位的二进制码与第n位二进制码取异或运算(即同取低,异取高) 公式表示:Gi=BiBi+1(n1i0)G_i = B_i \oplus B_{i+1} (n-1 \ge i \ge 0)

由格雷码计算二进制码:

  1. 最高位保持不变
  2. 第二位起,将每一位与前一位的格雷码取异或运算,即为本位的格雷码 公式表示:Bi=GiBi+1(n1i0)B_i = G_i \oplus B_{i+1} (n-1 \ge i \ge 0)

使用异或乘除计算二进制-格雷码

将二进制码异或乘以3(二进制11),然后右移一位,即可得到格雷码

将格雷码异或除以3(二进制11),忽略余数,得到二进制