格雷码

✍ dations ◷ 2025-11-07 09:43:00 #数字电子,数字电路

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

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

相关

  • 欧盟卫星中心坐标:40°29′22″N 3°26′19″W / 40.489525°N 3.438630°W / 40.489525; -3.438630欧盟卫星中心(European Union Satellite Centre,EUSC)是欧盟的欧盟理事会辖下机构,负责透
  • 胃 (脏腑)在中医学,胃为六腑之一,和五脏中的脾为表里。功能主要是受纳和腐熟水谷,因此有“水谷之海”(《灵枢·海论》)之称;饮食物经过胃而下送小肠,故胃以通降为顺;人体的气血、津液等为食
  • 荒木伸吾荒木伸吾(1939年1月1日-2011年12月1日)是日本著名的动画制作师及角色设计师,爱知县名古屋市出身。1964年加入动画制作公司“虫プロダクション”,并参与制作动画《小狮王》开始进
  • 伊藤正德伊藤正德(1889年10月18日-1962年4月21日),日本军事作家,著作如下:
  • 南斯拉夫语支南斯拉夫语支属印欧语系斯拉夫语族,为东欧斯拉夫民族采用的语言。南斯拉夫语支下再分为东支、中支和西支。东支包括马其顿语、保加利亚语和古教会斯拉夫语,西支包括斯洛文尼亚
  • 密穗草科参见正文密穗草科也叫细密叶科,是一个小科,仅有2属26种,全部生长在非洲,主要分布在南非和东部非洲。1981年的克朗奎斯特分类法将其分在唇形科中,1998年根据基因亲缘关系分类的APG
  • 王芝祥王芝祥(1858年-1930年7月21日),字铁珊,直隶顺天府通州(今北京市通州区)人。清末及民国政治人物。他是光绪二十三年(1897年)举人,在清朝历任河南知县、广西知府监司,1906年署广西按察使,1
  • 小此木彦三郎小此木彦三郎(日语:小此木 彦三郎/おこのぎ ひこさぶろう ;1928年1月26日-1991年11月4日)日本自民党政治家,1969年至1991年8次当选众议院议员,先后在第二次中曾根内阁担任经济产业
  • 歌仔册文字歌仔册文字为用于记述歌仔册的汉字。由于歌仔是以闽南语为创作语言的一种民间短谣,因此其文词即是闽南语白话文,而歌仔册文字则是台闽字发展上的重要源头之一。由于歌仔册为民
  • Hello Friends《 Hello Friends》(韩语:헬로 프렌즈 친구 추가)是韩国KBS的综艺节目,由尹钟信、金俊浩、车太铉、徐章煇、许志雄、斗俊(BEAST)主持普美、郑恩地、金南珠 (歌手)金南珠(APINK)