格雷码

✍ dations ◷ 2025-12-10 02:59:07 #数字电子,数字电路

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

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

相关

  • 经济学诺贝尔经济学奖,正式名称为“瑞典中央银行纪念阿尔弗雷德·诺贝尔经济学奖”(瑞典语:Sveriges riksbanks pris i ekonomisk vetenskap till Alfred Nobels minne),是由瑞典皇家科
  • 田寮坐标:22°52′50″N 120°21′38″E / 22.880473°N 120.360551°E / 22.880473; 120.360551田寮交流道为台湾国道三号的交流道,位于台湾高雄市田寮区近阿莲区,指标为369k。
  • 杰西·费尔杰西·费尔(英语:Jesse Fell)是美国宾夕法尼亚州威尔克斯-巴里早期政治领袖,也是第一个成功制造无烟煤的发明家。自从1808年其发现这一技术法后获得广泛使用,进而促进美国燃料来
  • 尼克·阿洛·伊西奥尼克·阿洛·伊西奥(英语:Nick D'Aloisio,1995年11月1日—),是Trimit首席执行官,现年23岁,2011前开发出SummlyApp,可以将任何新闻内容自动浓缩成400字概要,令App用户可以速读新闻。李
  • 群组群组(英语:Group)通常被称为网络社区(英语:community)、电子团体(英语:e-group)或俱乐部(英语:club)。是许多社交网络服务的一项功能,允许用户创建、发布、评论和阅读自己感兴趣的特定论
  • 李辅李辅可以指:
  • 黄征黄征(1973年12月12日-),中国大陆流行歌手。毕业于北京师范大学艺术系,大学期间就组“失重乐队”并担任贝斯手,出道至发行9张专辑,代表作〈爱情诺曼底〉、〈奔跑〉、〈北京不孤单〉
  • 马哈拉杰加恩杰马哈拉杰加恩杰(Maharajganj),是印度比哈尔邦锡万县的一个城镇。2001年总人口20,878。该地2001年总人口20,878人,其中男性10,529人,女性10,349人;0-6岁人口3,992人,其中男2,101人,女1
  • 哈娜·曼德利科娃哈娜·曼德利科娃(捷克语:Hana Mandlíková,1962年2月19日-),生于捷克斯洛伐克时期首都布拉格市,已退役的捷克女子网球员,4座大满贯桂冠得主,单打最高世界排名第3,国际网球名人堂成员
  • 李孙宸李孙宸(1576年-1634年),字代玄,一字伯襄,号小湾,广东香山(今中山市)小榄人,明朝政治人物,进士出身。李孙宸生于明万历四年(1576年)。其家族为小榄望族。万历四十一年(1613年)登癸丑科进士,选