格雷码

✍ dations ◷ 2025-04-03 11:52:11 #数字电子,数字电路

格雷码(循环二进制单位距离码)是任意两个相邻数的代码只有一位二进制数不同的编码,它与奇偶校验码同属可靠性编码。

格雷码(Gray code)是由贝尔实验室的Frank Gray在1940年提出,用于在PCM(脉冲编码调变)方法传送讯号时防止出错,并于1953年三月十七日取得美国专利。格雷码是一个数列集合,相邻两数间只有一个位元改变,为无权数码,且格雷码的顺序不是唯一的。

传统的二进制系统例如数字3的表示法为011,要切换为邻近的数字4,也就是100时,装置中的三个位元都得要转换,因此于未完全转换的过程时装置会经历短暂的,010,001,101,110,111等其中数种状态,也就是代表着2、1、5、6、7,因此此种数字编码方法于邻近数字转换时有比较大的误差可能范围。格雷码的发明即是用来将误差之可能性缩减至最小,编码的方式定义为每个邻近数字都只相差一个位元,因此也称为最小差异码,可以使装置做数字步进时只更动最少的位元数以提高稳定性。数字0~7的编码比较如下:

十进制 格雷码 二进制

0     000    0001     001    0012     011    0103     010    0114     110    1005     111    1016     101    1107     100    111

直接排列

以二进制为0值的格雷码为第零项,第一项改变最右边的位元,第二项改变右起第一个为1的位元的左边位元,第三、四项方法同第一、二项,如此反复,即可排列出n个位元的格雷码。

n位元的格雷码可以从n-1位元的格雷码以上下镜射后加上新位元的方式快速的得到,如右图所示一般。

(假设以二进制为0的值做为格雷码的0)
G:格雷码 B:二进制码 n:正在计算的位
根据格雷码的定义可得:
G(n) = B(n+1) XOR B(n)

G(n) = B(n+1) + B(n)
自低位至高位运算即可,无需考虑进位,例略。


00011110
3位元格雷码
000001011010110111101100 
4位元格雷码
0000000100110010011001110101010011001101111111101010101110011000
4位元2进制原始码
0000000100100011010001010110011110001001101010111100110111101111

格雷码转二进制数

由于G(n) = B(n+1) + B(n)
故而B(n) = -B(n+1)+ G(n)
自高位至低位运算即可,无需考虑借位。

例:格雷码0111,为4位数,故设二进制数自第5位至第1位分别为:0 b3 b2 b1 b0。
b3= 0-0 =0
b2=b3-1=0-1=1
b1=b2-1=1-1=0
b0=b1-1=0-1=1
因此所转换为之二进制码为0101

中国的古老益智玩具九连环有着和格雷码完全相同的数学模式,外国一款名为spin out的玩具也是运用相同的数学模式。

相关

  • 肌肉失养症肌肉萎缩症(肌营养不良症,英语:Muscular dystrophy, MD),指一组损坏人体肌肉的遗传性疾病。肌营养不良症表现为进行性骨骼肌萎缩,肌肉蛋白质缺失,和肌肉细胞或组织的死亡。有九种疾
  • Mg(Csub2/subHsub5/sub)sub2/sub二乙基镁是一种金属有机化合物,化学式为(C2H5)2Mg。溴乙烷和镁在乙醚中反应,得到乙基溴化镁。再向溶液中加入二乙二醇二甲醚,生成溴化镁的加合物沉淀,以得到二乙基镁。镁和二乙
  • 萜类化合物萜烯(英语:terpene,简称萜,旧称䓝,词由松节油“turpentine”而来)是一系列萜类化合物的总称,属脂类,不溶于水,是分子式为异戊二烯(C5H8)的整数倍的烯烃类化合物。萜烯是一个庞大而多样
  • 怒苏语怒苏语是怒族使用的语言之一,属于藏缅语族彝语支,主要分布在云南省怒江傈僳族自治州的泸水、福贡等县。约有9000人使用。有3个方言。方言间通话困难。音节结构简单,以开音节为
  • 北极烟霞北极烟霞(Arctic haze)指由空气污染引起的出现在北极地区大气层高纬度上可见的污染现象。因其成分90%为硫,其余为碳,故显红棕色。与其他污染物相比,北极烟霞的化学物质能够在大气
  • 艳贼《艳贼》(英语:)是一部1964年的悬疑电影,由希区柯克导演,黛碧·海伦和肖恩·康纳利主演。其内容改编自Winston Graham于1961年出版的同名小说,讲述一个美艳动人的女子玛琳,因小时候
  • 克莱佩达机场克莱佩达机场(立陶宛语:Klaipėdos oro uostas,IATA:KLJ,ICAO:EYKL),是立陶宛西部克莱佩达以东7千米处的一座民用机场,主要为飞行运动和包机服务。机场紧邻A1/E85高速公路。克莱佩达
  • 链路层发现协议链路层发现协议(Link Layer Discovery Protocol,LLDP)是一种数据链路层协议,网络设备可以通过在本地网络中发送LLDPDU(Link Layer Discovery Protocol Data Unit)来通告其他设备自
  • 伯纳德·马奎尔伯纳德·马奎尔,S.J.(英语:Bernard A. Maguire,1818年2月11日-1886年4月26日)是爱尔兰裔美国天主教牧师和耶稣会士,曾两度出任乔治城大学校长。他生于爱尔兰,六岁时随家人移民美国并
  • 竹财辉之助竹财辉之助(1980年4月7日-),出生于日本熊本县熊本市,是日本的演员,所属经纪公司Stardust Promotion。熊本市立必由馆高等学校毕业。