格雷码运算是什么 格雷码运算介绍【详解】
作者&投稿:贰风 (若有异议请与网页底部的电邮联系)
在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式,因为,自然二进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例如从十进制的3转换成4时二进制码的每一位都要变,使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它是一种数字排序系统,其中的所有相邻整数在它们的数字表示中只有一个数字不同。它在任意两个相邻的数之间转换时,只有一个数位发生变化。它大大地减少了由一个状态到下一个状态时逻辑的混淆。另外由于最大数与最小数之间也仅一个数不同,故通常又叫格雷反射码或循环码。下表为几种自然二进制码与格雷码的对照表:
一般的,普通二进制码与格雷码可以按以下方法互相转换:
二进制码->格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);
格雷码-〉二进制码(解码):从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变).
数学(计算机)描述:
原码:p[0~n];格雷码:c[0~n](n∈N);编码:c=G(p);解码:p=F(c);书写时从左向右标号依次减小.
编码:c=p XOR p[i+1](i∈N,0≤i≤n-1),c[n]=p[n];
解码:p[n]=c[n],p=c XOR p[i+1](i∈N,0≤i≤n-1).
Gray Code是由贝尔实验室的Frank Gray在20世纪40年代提出的(是1880年由法国工程师Jean-Maurice-Emlle
Baudot发明的),用来在使用PCM(Pusle Code Modulation)方法传送讯号时避免出错,并于1953年3月17日取得美国专利。由定义可知,Gray Code的编码方式不是唯一的,这里讨论的是最常用的一种。
[color=#FF0000]格雷码是中国人的老祖先发现的[/color]
九连环与格雷码
分析解九连环的完全记法,由于每次只动一个环,故两步的表示也只有一个数字不同。下面以五个环为例分析。左边起第一列的五位数是5个环的状态,依次由第一环到第五环。第二列是把这个表示反转次序的五位数,似乎是二进制数,但是与第四列比较就可以看出这不是步数的二进制数表示。第三列是从初始状态到这个状态所用的步数。最右边一列才是步数的二进制表示。
00000-00000-0-00000
10000-00001-1-00001
11000-00011-2-00010
01000-00010-3-00011
01100-00110-4-00100
11100-00111-5-00101
10100-00101-6-00110
00100-00100-7-00111
00110-01100-8-01000
10110-01101-9-01001
11110-01111-10-01010
01110-01110-11-01011
01010-01010-12-01100
11010-01011-13-01101
10010-01001-14-01110
00010-01000-15-01111
00011-11000-16-10000
10011-11001-17-10001
11011-11011-18-10010
01011-11010-19-10011
01111-11110-20-10100
11111-11111-21-10101
我们发现,右边一列数恰好是十进制数0到21的二进制数的格雷码! 这当然需要21步。如果把5位二进制数依次写完,就是
10111-11101-22-10110
00111-11100-23-10111
00101-10100-24-11000
10101-10101-25-11001
11101-10111-26-11010
01101-10110-27-11011
01001-10010-28-11100
11001-10011-29-11101
10001-10001-30-11110
00001-10000-31-11111
这说明,对于只有5个环的五连环,从初始到状态11111用的不是并不是最多,到状态00001才是最多,用31步。类似,对于九连环,从初始到状态111111111用的不是并不是最多,到状态000000001才是最多,用511步。由于格雷码111111111表示二进制数101010101,表示十进制数341,故从初始状态到9个环全部上去用341步。 这就是九连环中蕴涵的数学内涵。
注 由二进制数转换为格雷码:从右到左检查,如果某一数字左边是0,该数字不变;如果是1,该数字改变(0变为1,1变为0)。例,二进制数11011的格雷码是10110。
由格雷码表示变为二进制数:从右到左检查,如果某一数字的左边数字和是偶数,该数字不变;如果是奇数,该数字改变。
例 格雷码11011表示为二进制数是10010。
以上可以用口诀帮助记忆: 2G一改零不改,G2奇变偶不变。
这样,我们不但可以知道从任何一个状态到另一个状态用完整解法需要多少步,用简单解法又需要多少步,而且可以知道下一步的动作是什么。(除去两个状态000000000和111111111,任何状态下都可以转变为两个状态,即有两个动作。)
例 设九连环的初始状态是 110100110 ,要求终止状态是 001001111 ,简单解法与完整解法各需要多少步?第一步是什么动作?
解 (1)初始状态 110100110 ,格雷码是011001011,转换为二进制数是010001101,相应十进制数是141。终止状态是001001111,格雷码是111100100,转换为二进制数是101000111,相应十进制数是327。二者差326-141=186,完整解法需要186步。
(2)由于初始状况141小于终止状况327,第一步应成为142,相应二进制是010001110,转换为格雷码是011001001,状态是100100110,与原状态比较,第一步应上第2环。
(3)简单解法步数,我们由141,327分别求相应的简单步数,
对于N=141,得到N0=103;对于 N=327,N0=242。二者差139,故简单步数139
葛韩保妇: 格雷码 由于人为或非人为的原因,代码在计算机或其它数字系统中形成、传送和运算过程中都有可能出现错误.于是人们在提高计算机本身的可靠性的同时,也创造了一些可靠性编码.它们令代码本身具有一种特征或能力,使得代码在形成中不...
广宁县18547214228: 十进制586用格雷码表示是多少?怎么算? - ?
葛韩保妇:[答案] 十进制586二进制1001001010格雷码1101101111 转换方法如下格雷码(Gray code),又叫循环二进制码或反射二进制码 在数字系统中只能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型...
广宁县18547214228: 查佩式信号机有哪些优点和足 - ?
葛韩保妇: (1)抗干扰能力强、无噪声积累.在模拟通信中,为了提高信噪比,需要在信号传输过程中及时对衰减的传输信号进行放大,信号在传输过程中不可避免地叠加上的噪声也被同时放大.随着传输距离...
广宁县18547214228: 十六进制数2B转换成十进制数的过程? - ?
葛韩保妇: 一、 常用数制及其相互转换 在我们的日常生活中计数采用了多种记数制,比如:十进制,六十进制(六十秒为一分,六十分为一小时,即基数为60,运算规则是逢六十进一),…….在计算机中常用到十进制数、二进制数、八进制数、十六进...
广宁县18547214228: 数字信号和模拟信号有何区别 - ?
葛韩保妇: 模拟信号传输快,易受干扰,不容易中继,接收是模拟系统 数字信号只传送1和0,相对速度慢,不易受干扰,容易中继,而不损失,接收是数字系统 数字信号也是用模拟信号传送的,是在模拟信号基础上发展起来的.
广宁县18547214228: 浙大考研 (844)信号与电路基础 的内容和重点 - ?
葛韩保妇: 《信号与电路基础》(科目代码844)考试大纲 特别提醒:本考试大纲仅适合2009年硕士研究生入学考试.该门课程包括四部 分内容,(-)信号与系统部分,占70分;(二)数字电路部分,占40分;(三)高频(射频)电路部分,占40分....
广宁县18547214228: 求计算机组成原理试题答案 - ?
葛韩保妇: 1.b 2.d 3c. 4.a 5.b 6.c 7.c 8.d 9.c 10.b 11.a 12.d 13.d 14.b 15.d 16.a 17.c 18.b 19.a 20.b 21.b 22.a 23.c 24.c 27.a 28.b 29.c选择题一定对 填空题不一定对. 提高速度 串行 并行 全先行 16 8 接下的不会了.
广宁县18547214228: 数逻中常用的可靠性代码有哪2种? - ?
葛韩保妇: 格雷码 奇偶校验码
广宁县18547214228: 增量式光电式脉冲编码器不能检测出运动轴的绝对位置() - 上学吧找答案?
葛韩保妇: 助理电气工程师应该具的基本素质能力和技能: 第一部分 专业基础知识 一、电工技术专业基础知识 (一)电阻的串、并联 1、掌握电阻串、并联电阻阻值的计算 2、掌握电阻串、并联电阻每只电阻电压、电流和功率的计算 (二)电阻的混联 ...