格雷码的规则和应用问题?

2019-07-15 20:50发布

今天看到一个格雷码计数的程序,搜了下定义,觉得还是云里雾里,定义写的是若任意两个相邻的代码只有一位二进制数不同,则这种编码为格雷码。首先数据传输时,如果是两字节数据0x12和0x34,那最后转成格雷码不就是0x12和0x34两字节对应的格雷码吗?哪里来的相邻之说?完全搞不清楚怎么解释,在实际传输时,又是如何防止数据错误的?就算转成格雷码不还是数据吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
晓晓江南
1楼-- · 2019-07-16 00:41
例如:0(0000),1(0001),2(0010),3(0011);那么两个相邻的代码就是(0,1),(1,2),(2,3);转为格雷码为:0(0000),1(0001),2(0011),3(0010);如果系统不同步的话,0001变为0010就会产生错误(因系统不同步,0001可能变为0011或0000),如果转为格雷码的话,0001变为0011,整个过程只改变了一位,消除了系统因不同步而出现的错误,另外格雷码常用于计数(因为计数过程,数字变化是连续的,例如:0变为下一位数字只能是1,不会发生跳变)。
micro_Stone
2楼-- · 2019-07-16 05:43
可以考虑使用CRC校验

一周热门 更多>