格雷码

✍ dations ◷ 2025-04-04 06:38:24 #数字电子,数字电路

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

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

相关

  • 艾滋病重估运动艾滋病重估运动(AIDS reappraisal movement ,或艾滋病异见组织,AIDS dissident movement)是一个由活跃份子、记者、市民、科学家、研究人员和医生组成的松散组织,他们对认为人类
  • 台湾野鸟台湾在世界动物地理分区上属于东洋区和旧北区的交会地带,有87科653种鸟类曾被记录,其中有29种为台湾特有种。台澎地区和金马地区的鸟类生态有相当程度的差异,请另见金门鸟类列
  • 托卢卡托卢卡( 西班牙语:Toluca de Lerdo ) 墨西哥墨西哥州城市,为墨西哥州州府。距离墨西哥城63公里。托卢卡市总人口467,713人(2005年)。托卢卡自治区,包含该市及周边地区,总人口747,5
  • 本溪本溪市是中华人民共和国辽宁省下辖的地级市,位于辽宁省东部,是中国东北部主要钢铁之城。本溪市历史悠久,在庙后山考古发掘出的古人类文化遗址表明,在四、五十万年前的旧石器时代
  • 衢江区衢江区是中国浙江省衢州市下辖的一个区。东汉初平三年(192年)开始设县,时名为新安,西晋改为信安、唐改为西安县,民国元年(1912年)始称衢县,至今已有1800多年。2001年设立衢江区。下
  • 铃木镇一铃木镇一(1898年10月17日-1998年1月26日)出生于名古屋,日本小提琴教育家,伟大的音乐教育家,铃木教学法的发明人。为爱的才能教育(Nuture in Love) 的发起人,教学提倡母国语教学法。
  • DefragglerDefraggler是由英国软件公司Piriform所开发的磁盘碎片整理软件。用户可利用Defraggler重组单一文件、文件夹或整个磁盘分区。暂时只支持Microsoft Windows;它支持从Windows X
  • 赫雷罗语赫雷罗语(赫雷罗语:)是尼日尔-刚果语系班图语支中的一门语言。它是生活在纳米比亚、博茨瓦纳及安哥拉西南部的赫雷罗人的母语。讲该语言的人数为73,600人。讲赫雷罗语的人主要
  • 小锦屏温泉小锦屏温泉位于台湾新竹县尖石乡锦屏村,分布于锦梅溪谷中。依地质分类属于雪山山脉带的变质岩温泉。小锦屏温泉水色清澈,温度约36.8-50℃,酸碱值约pH7.5-7.8,含碳酸氢根离子约19
  • 尤里·费奥多罗维奇·利相斯基尤里·费奥多罗维奇·利相斯基(乌克兰语:Юрій Федорович Лисянський,俄语:Ю́рий Фёдорович Лися́нский,1773年8月13日-1837年3月