好文档 - 专业文书写作范文服务资料分享网站

格雷码与二进制代码的转换规则

天下 分享 时间: 加入收藏 我要投稿 点赞

格雷码与二进制代码的转换规则

一、什么是格雷码?

首先我们来了解一下格雷码。前面我们介绍了一些常见的BCD码,

8421BCD、2421BCD、5421BCD,还有余三码,那么这个格雷码我们接触较少,什么是格雷码呢?这种码是一个叫弗兰克*格雷的人在1953年发明的,最初用于通信。

格雷码,又叫循环二进制码或反射二进制码,它的基本的特点就是任意两个相邻的代码只有一位二进制数不同,这点在下面会详细讲解到。在数字系统中,常要求代码按一定顺序变化。例如,按自然数递增计数,若采用8421码,则数0111变到1000时四位均要变化,而在实际电路中,4位的变化不可能绝对同时发生,则计数中可能出现短暂的其它代码(1100、1111等)。在特定情况下可能导致电路状态错误或输入错误。使用格雷码可以避免这种错误。格雷码属于可靠性编码,是一种错误最小化的编码方式。

举个例子来说吧,如果用一个8位的二进制数表示热水壶的温度,温度是不断连续变化的,36°C、37°C、38°C......,那么温度每升高一度,二进制数就加1。这时候,二进制数有可能是多个位同时变化的:当温度由119°C变成120°C时,二进制数由01110111变化成01111000,有四个位发生变化;当二进制数由177°C变化成178°C时,二进制数由01111111变化成10000000,有8个位发生了变化。也就是说,自然二进制数在表示一个连续变化的数值时,可能会有多个位同时发生变化,每个位翻转(变化)的频率是比较高的,这在某些应用场合,是十分不利的。而格雷码,由于具有循环特性和单步特性,当用它表示一个连续变化的数值时,仅有一个位会翻转,大大的降低了位翻转的频率,因而可以保证传输的稳定性,较少传输误码率。格雷码的单步特性呢就是是指,当格雷码表示的一个数值,连续变化时,格雷码只有一个位会变化。就是我刚才说的它最基本的特点了。还有格雷码的单步特性是指,当格雷码表示的一个数值,连续变化时,格雷码只有一个位会变化。看表,1000变到0000,格雷码只有一位翻转。

二、格雷码与二进制码转换规则

十进制数 0 1 2 3 4 5 6 7 自然二进制数 0000 0001 0010 0011 0100 0101 0110 0111 格雷码 0000 0001 0011 0010 0110 0111 0101 0100 十进制数 8 9 10 11 12 13 14 15 自然二进制数 1000 1001 1010 1011 1100 1101 1110 1111 格雷码 1100 1101 1111 1110 1010 1011 1001 1000

大家看一下这个表,有没有发现二进制转为格雷码的规律?看上去,格雷码似乎很乱,不像8421码那样连续的。我们记8421码的时候很轻松,因为它每位的值都是固定的数,有位权。那么我们怎么记格雷码呢?死背真值表?当然了,这是一种方法,有能力又勤奋的同学可以用这种方法。不过呢,很多东西都是有它独特的规律的,格雷码也不例外。现在我们先来看二进制转换为格雷码的过程,也就是编码。

最初就说了,格雷码的基本特点就是任意两个相邻的代码只有一位二进制数不同,这点很重要。现在,我们在来看二进制码转格雷码的另一种方法,这种方法用文字来表述就是:从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0)。举个例子吧: 二进制的0110

第一步、二进制最右边0和它左边的1异或,得到1,这就是格雷码的最右边的数;

第二步、二进制右边第二位的1与它左边的1异或,得到0,这就是格雷码右边的第二位数;

第三步、二进制右边第三位数1与它左边的0异或,得到1,这就是格雷码的右边第三位;

最后,保持最高位不变

就得到了格雷码0101,看,就这样简单。

再来看格雷码转换为二进制码,也就是解码的过程。解码是编码的逆过程,理解了编码,解码就好理解了。解码从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变),记住啊,最高位,也就是最左边的一位依然是不变的,和编码是一样的。我们来看看这个公式:

格雷码与二进制代码的转换规则

格雷码与二进制代码的转换规则一、什么是格雷码?首先我们来了解一下格雷码。前面我们介绍了一些常见的BCD码,8421BCD、2421BCD、5421BCD,还有余三码,那么这个格雷码我们接触较少,什么是格雷码呢?这种码是一个叫弗兰克*格雷的人在1953年发明的,最初用于通信。格雷码,又叫循环二进制码
推荐度:
点击下载文档文档为doc格式
0xt578rmgh4zk8m0hvkq6k2tg1xu6l00s4g
领取福利

微信扫码领取福利

微信扫码分享