格雷码

✍ dations ◷ 2025-11-28 07:51:02 #数字电子,数字电路

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

格雷码(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的玩具也是运用相同的数学模式。

相关

  • 肺孢子菌纲P. carinii P. jirovecii P. murina P. oryctolagi P. wakefieldiae肺孢子菌纲只有一目、一科、一属,是外囊菌亚门中一类比较原始的真菌,直到20世纪初才被发现,是一种类酵母
  • 白磷磷的同素异形体有许多种,其中白磷和红磷最为常见。另外还存在紫磷和黑磷。气态磷单质中有P2分子与磷原子。白磷(因商品白磷常带黄色,故又称为黄磷:180),分子式P4,为白色固体,质软。
  • 怡万之厄他培南(英语:Ertapenem)是一种碳青霉烯类抗生素,由默沙东以怡万之为商品名销售。结构上,厄他培南与美罗培南非常相似,前者有一个1-β-甲基。羧基青霉素:羧苄西林(卡茚西林) · 替
  • 石川哲罗鱼石川哲罗鱼(学名:Hucho ishikawai)为辐鳍鱼纲鲑形目鲑科哲罗鱼属的鱼类,为温带淡水鱼,分布于亚洲中国鸭绿江、朝鲜半岛Am-nok、Dok-ro、Weon-ju与Jang-jin 河,体长可达50公分,栖息
  • 兰贝斯区兰贝斯区(英语:London Borough of Lambeth,读音: /ˈ.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","C
  • 塔河县塔河县位于黑龙江省北部,是大兴安岭地区下辖的一个县。下辖3个镇、3个乡、9个林场(其中3个林场为镇、场合一单位)、6个贮木场、1个经营所、17个行政村、72个居民委。 塔河镇、
  • 区 (法国)区(arrondissement)是法国两级行政区划共用的名字,省区(arrondissement départemental)为省下划分的行政区域,而市区(英语:Municipal arrondissements of France)(arrondissement mun
  • 2012年拉穆暴力事件2012年拉穆暴力事件,是指2012年9月29日孟加拉国科克斯巴扎尔县拉穆地区一系列的攻击佛教和印度教寺院的宗教暴力活动。估计有25,000名伊斯兰教徒参加直指佛教徒和印度教徒的
  • 林旺卫林旺卫(1988年6月28日-),为台湾棒球选手,守备位置是外野手。2006年进入台湾体院后没多久,就与美国职棒明尼苏达双城队签约,成为近年来台湾第19位赴美发展的选手,经过六年后只升上1A,
  • 兰贝格-奥斯古德关系Ramberg-Osgood方程是固体力学中描述材料在其屈服点附近的应力-应变关系(应力-应变曲线)的一个理论模型,其形式为: ϵ =