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