您现在的位置是:首页 > 优选经验 >正文

格雷码是什么(格雷码)

发布时间:2022-06-27 12:01:54宁桂强来源:

导读大家好,小龙妹来为大家解答以上问题。格雷码是什么,格雷码很多人还不知道,现在让我们一起来看看吧!基于格雷码是反射码的事实,该方法通...

大家好,小龙妹来为大家解答以上问题。格雷码是什么,格雷码很多人还不知道,现在让我们一起来看看吧!

基于格雷码是反射码的事实,该方法通过使用以下递归规则来构造:1比特格雷码具有两个码字(n-1)。格雷码的前2n个码字等于按顺序写的n位格雷码,的码字,前缀0(n-1)位格雷码的后2n个码字等于按逆序写的n位格雷码,的码字,设置为前缀1 n 1位格雷码=n位格雷码集(顺序)加前缀0 n位格雷码集(逆序)加前缀1 2位格雷码3位格雷码4位格雷码4位自然二进制码00

01

11

10 000

001

011

010

110

111

101

100 0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000 0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

111二进制码格雷码(编码):

该方法直接从对应的N位二进制码字中获取N位格雷码码字,步骤如下:将N位二进制码字从右到左从0到n-1编号。如果二进制码字的第I位与i 1相同,则对应的格雷码的第I位为0,否则为1(当i 1=n时,二进制码字的第N位视为0,即第N-1位保持不变)公式表示:(G:格雷码, B:二进制码)例如二进制码0101是4位,那么它转换的格雷码也必须是4位,那么可以转换的二进制码的第5位为0,即0 B3 B2 B1 B 0 B 0 B 0。

0 xor 0=0,所以g3=0

0异或1=1,所以g2=1

1 xor 0=1,所以g1=1

0异或1=1,所以g0=1

因此,转换后的格雷码是0111格雷码二进制码(解码):

从左边的第二位开始,将每个位与左边位的解码值进行XOR运算,作为该位的解码值(最左边的位保持不变)。依次异或,直到最低位。异或转换后的值(二进制数)是格雷码转换后的二进制码的值。

公式:(g:格雷码, b:二进制码)

原代码:p[n 33600];格雷码:c[N :0](NN);代码:c=g(p);解码:p=f(c);

写的时候数字从左到右递减,也就是MSB-LSB,编解码也是按照这个顺序举例说明:

如果收集者拿起格雷码: 1010

你必须把它变成自然的二进制:

0与第四位1的异或结果是1。

上述结果1与第三位0进行异或运算,结果为1。

上述1与第二位1的异或结果为0。

上面的结果0与第一位0进行异或运算,结果为0。

所以最后的结果是:1100,也就是二进制码,也就是十进制的12。

当然,大家一看,只需要对照表1就知道是12...立刻。

解码:利用卡诺图相邻两个网格只有一个比特变化,卡诺图变量值按照低阶格雷码,的顺序排列的特点,可以递归得到高阶格雷码。因为这种方法比较繁琐,所以很少使用。生成格雷码的步骤如下:将卡诺图变量分成两组,变量个数相近(最好相等),在左边逻辑变量的高位和右边的低位建立卡诺图,从左上角到右上角最后到左下角遍历卡诺图, 依次通过网格的变量的值是典型的格雷码:三格雷码(三个格雷码数以两位数为基数)abc 0 1 000 010123 11 671045格雷码顺序:000起点 001 011 010 110

格雷码abCD 00 01 11 10 00 0132014576 11 1213151410 891110

111 1110 1010 1011 1001 1000二进制垂直乘除是用异或来代替加减进行的,称为异或乘除。它的特点是不进则退。

例如,将10101除以11会使1100大于1。

二进制到格雷码:

只需将异或乘以三分之二,即二进制的1.1,然后忽略小数部分;也可以理解为XOR乘以三(即11),然后右移一位。

格雷码对双星:

用XOR除以三分之二,即除以1.1,忽略余数;或者左移一位,然后用XOR除以三,忽略余数。

本文到此结束,希望对大家有所帮助。

标签:

上一篇
下一篇