BCD码(如何转换,转换方式的证明)

 

  1. 十进制转2421码:小于4不考虑使用最高位,从最高位向最低位依次相减。

  如3=2+1,为0011;7=2+4+1,为1101

 

  2. 十进制5211码:按照最高位,次高位,最低位,次低位的顺序依次相减

  如6=5+1,为1001,7=5+2,为1100

 

  3. 格雷码转换

  介绍:http://blog.csdn.net/jingfengvae/article/details/51691124

  证明格雷码相邻的两个数中不同的位数只有1位:http://www.cnblogs.com/cmyg/p/6565627.html

二/十进制转格雷码:

  

s -> t

t=s ^ (s >> 1);

 

t=

    s[3] s[2] s[1] s[0]

xor          s[3] s[2] s[1]

//////////////////////////////////////////////////////////////////////

格雷码转二/十进制:

s -> t

t=s;

while (s>>=1)
        t^=s;

其实t[3]=s[3]  t[2]=t[3] xor s[2] = s[3] xor s[2]  t[1]=t[2] xor s[1] = s[3] xor s[2] xor s[1]  t[0]=t[1] xor s[0] = s[3] xor s[2] xor s[1] xor s[0]

 

t=

    s[3] s[2] s[1] s[0]

xor      s[3] s[2] s[1]

xor             s[3] s[2]

xor           s[3]

  xor满足交换律,结合律:http://www.cnblogs.com/cmyg/p/6565618.html

文件下载地址:http://pan.baidu.com/s/1nu6Hydz

 

posted @ 2017-03-17 22:57  congmingyige  阅读(5756)  评论(0编辑  收藏  举报