什么是格雷码,如何生成格雷码

格雷码 (gray code)

什么格雷码

每相邻的两个编码,只有一位不同
晦涩难懂,不急,看下面例子,秒懂
这里以四位二进制数为例子

格雷码例子

0000 和 0001 只有最后一个1不一样
0001和0011 只有第三位不同

Decimal(十进制)Binary code(二进制)Gray code (格雷码)
000000000
100010001
200100011
300110010
401000110
501010111
601100101
701110100
810001100
910011101
1010101111
1110111110
1211001010
1311011011
1411101001
1511111000

如何从二进制生成格雷码

方法一

1.将二进制的首位加到下一位
2.重复1,将第二位加到第三位,注意:相加均忽略进位,两个1相加为0
e.g
二进制: 1 0 1 1
加这个: 0 1 1
格雷结果:1 1 0 0

方法二:

格雷码为g3 g2 g1 g0 , 二进制为 b3 b2 b1 b0

g3=b3
g2=b3⊕b2
g1=b2⊕b1
g0=b1⊕b0
(类似于后面三位进行异或操作)
emmm 如此看来 好像两个方法差不多,姑且当两个吧~

为了加深理解,可以拿上面的码,自己选几个算算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值