格雷码

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

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

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

相关

  • 地磁反转地磁逆转是指地球磁场方向的变化,也就是北磁极和南磁极的对调。地磁逆转的发生常常伴随着磁场强度的减弱,当新的方向确定后,磁场强度又会迅速增加。地磁场一般几万年甚至更久才
  • Palgrave Macmillan帕尔格雷夫·麦克米兰(英语:Palgrave Macmillan)是一个国际学术期刊和行业出版公司,其主要出版书籍包括有教科书、期刊、专著、专书及参考文献,并且提供有印刷刊物和互联网等通路
  • 朱媛媛朱媛媛(1974年3月18日-),中国著名女演员。1974年在青岛出生,1997年毕业于中央戏剧学院表演系。毕业后在中国国家话剧院工作。其夫为演员辛柏青。1998年2001年2005年1999年2000年2
  • 圆周率计算年表下面这个表格简要地展现了历史上圆周率的计算,也包括一部分数学史上关于认识圆周率的重大事件。与圆周率的计算无直接关系的事件会以浅红色背景表示,世界纪录会以浅青色背景表
  • 吉尔·斯泰因吉尔·艾伦·斯泰因(英语:Jill Ellen Stein ;1950年5月14日-),美国医生,专业领域为内科学。斯泰因两度代表绿党参加美国总统选举。然而、其选民票得票率仅为0.36% (2012年)、1.04%
  • 陈吉余陈吉余(1921年9月17日-2017年11月28日),江苏灌云人,中国河口海岸学家。1947年毕业于浙江大学史地系。1999年当选为中国工程院院士。
  • 陈王廷陈王廷(生卒年不详),又作皇廷、黄庭、王庭,字奏庭,河南焦作人,祖籍山西晋城,陈家沟第九世,明末清初人。明末崇祯五年(公元1632年) 曾任 “乡兵守备”。明末武庠生。陈王庭在明亡后,隐
  • 什克尔拉蒂察山坐标:46°26′N 13°49′E / 46.43°N 13.82°E / 46.43; 13.82什克尔拉蒂察山(斯洛文尼亚语:Škrlatica),是斯洛文尼亚的山峰,位于该国西北部,由克拉尼斯卡戈拉负责管辖,属于朱利安
  • 萧家麟萧家麟(1884年-?年),字玉书,直隶省天津县人,宣统二年进士。
  • 克莉丝汀·玛格达列娜 (普法尔茨-茨魏布吕肯)克莉丝汀·玛格达列娜(德语:Christine Magdalena,1616年5月27日-1662年8月14日),巴登-杜拉赫藩侯夫人,瑞典国王卡尔十世·古斯塔夫的姐姐。1642年,克莉丝汀·玛格达列娜与巴登-杜拉