格雷码java代码 c++格雷码

格雷码的特点是什么?为什么说它是可靠性代码?

格雷码(Gray code)是一种准权码,设格雷码最低位为n=1,则格雷码的权的绝对值为(2^n)-1,其符号从左到右正负交替。典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式。

创新互联网站建设由有经验的网站设计师、开发人员和项目经理组成的专业建站团队,负责网站视觉设计、用户体验优化、交互设计和前端开发等方面的工作,以确保网站外观精美、成都网站设计、成都网站制作易于使用并且具有良好的响应性。

1、格雷码的特点是任意两组相邻之间只有一位不同,其余各位都相同,而且0和最大数(2的N次方减一)对应的两组格雷码之间也只有一位不同。

2、格雷码是一种循环码,它的特性使它在形成和传输过程中引起的误差较小。如计数电路按格雷码计数时,电路每次状态更新只有一位代码变化,从而减少了计数错误。

3、普通二进制码与格雷码相互转换关系为:

(1)二进制码转换成格雷码

从最右边第一位开始,依次将每一位与左邻一位异或(XOR),作为对应格雷码该位的值,最左边一位不变。

(2)格雷码转换成二进制码

从左边第二位起,将每位与左边一位解码后的值异或(XOR),作为该位解码后的值(最左边一位依然不变)。

什么是“格雷码”?

格雷码就是一种可靠性编码。在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码,另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码。在数字系统中,常要求代码按一定顺序变化。

例如,按自然数递增技术,若采用8421码,则数0111变到1000时四位均要变化,而在实际电路中,4位的变化不可能绝对同时发生,则计数中可能出现短暂的其他代码(1100、1111等)。在特定情况下可能导致电路状态错误或输入错误。使用格雷码可以避免这种错误。

扩展资料:

格雷码发展历史:

格雷码(Gray Code)因Frank Gray 1947年申请、1953年获得批准的专利“Pulse Code Communication”而得名,当初是为了通信,现在则常用于模拟-数字转换中。法国工程师Jean-Maurice-Eacute;mlle Baudot在1880年曾用过的波特码是典型格雷码的一种变形。1941年George Stibitz设计过一种8元格雷码计数器。

格雷码的优点:

1、格雷码是一种绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。

格雷码属于可靠性编码,是一种错误最小化的编码方式,因为,虽然自然二进制码可以直接由数/模转换器转换成模拟信号,但在某些情况,例如从十进制的3转换为4时二进制码的每一位都要变,能使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它在相邻位间转换时,只有一位产生变化。它大大地减少了由一个状态到下一个状态时逻辑的混淆。

由于这种编码相邻的两个码组之间只有一位不同,因而在用于风向的转角位移量-数字量的转换中,当风向的转角位移量发生微小变化(而可能引起数字量发生变化时,格雷码仅改变一位,这样与其它编码同时改变两位或多位的情况相比更为可靠,即可减少出错的可能性。

2、格雷码是一种变权码,每一位码没有固定的大小,很难直接进行比较大小和算术运算,也不能直接转换成液位信号,要经过一次码变换,变成自然二进制码,再由上位机读取。

解码的方法是用‘0’和采集来的4位格雷码的最高位(第4位)异或,结果保留到4位,再将异或的值和下一位(第3位)相异或,结果保留到3位,再将相异或的值和下一位(第2位)异或,结果保留到2位,依次异或,直到最低位,依次异或转换后的值(二进制数)就是格雷码转换后自然码的值.

参考资料:百度百科-格雷码

格雷码是怎么编的,有什么规律

先写好二进制的数,比如二进制的0110,对应的四位格雷码就是:右数第一位的0和右数第二位的1作异或运算(相同为0,不同为1),这样得到1作为格雷码的第一位,依次类推,最高位的话保持与二进制一样(此处为0),这样就得到格雷码为0101。

格雷码母线位置检测单元包括地址发射单元、天线箱、地址检测单元、格雷码母线及安装辅件等部分。

利用最简单的单匝线圈的感应原理,当天线箱线圈中通进交变电流时,在天线箱四周会产生交变磁场。格雷码母线近似处在一个交变的、均匀分布的磁场中,每对格雷码母线芯线会产生感应电动势。发射单元地址信号通过电磁耦合方式传送到格雷码母线的感应环线上。

在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码,另外由于最大数与最小数之间也仅一位数不同,即“首尾相连”,因此又称循环码或反射码。在数字系统中,常要求代码按一定顺序变化。

相关内容解释:

典型的二进制格雷码简称格雷码,因1953年公开的弗兰克·格雷(Frank Gray,18870913-19690523)专利“Pulse Code Communication”而得名,当初是为了通信,现在则常用于模拟-数字转换和位置-数字转换中。

法国电讯工程师波特(Jean-Maurice-Émile Baudot,18450911-19030328)在1880年曾用过的波特码相当于它的一种变形。1941年George Stibitz设计的一种8元二进制机械计数器正好符合格雷码计数器的计数规律。

格雷码怎么算?

格雷码的编码规则:

格雷码母线位置检测单元包括地址发射单元、天线箱、地址检测单元、格雷码母线及安装辅件等部分。利用最简单的单匝线圈的感应原理,当天线箱线圈中通进交变电流时,在天线箱四周会产生交变磁场。

格雷码母线近似处在一个交变的、均匀分布的磁场中,每对格雷码母线芯线会产生感应电动势。发射单元地址信号通过电磁耦合方式传送到格雷码母线的感应环线上。

xor运算

的逆运算是它本身,也就是说两次异或同一个数最后结果不变,即(a xor b) xor b = a。xor运算可以用于简单的加密,比如我想对我MM说1314520,但怕别人知道,于是双方约定拿我的生日19880516作为密钥。1314520 xor 19880516 = 20665500,我就把20665500告诉MM。MM再次计算20665500 xor 19880516的值,得到1314520。


标题名称:格雷码java代码 c++格雷码
文章路径:http://myzitong.com/article/doiicps.html