答案是1111101
先把十进制转成二进制,然后你在将二进制转成格雷码,方法是
1、保留自然二进制码的最高位作为格雷码的最高位
2,次高位格雷码为二进制码的高位与次高位相异或计算
89的二进制是1011001,转成格雷码就是1111101
你在网上查一下,有现成的公式.在plc内数据都是用二进制表示的.大致如下:二进制的第7位=格雷码的第7位二进制的第6位=格雷码的第7位异或格雷码的第6位....二进制的第0位=格雷码的第1位异或格雷码的第0位比如格雷码为01101100,则对应的二进制为第7位=0第6位=0xor1=1第5位=1xor1=0第4位=1xor0=1第3位=0xor1=0第2位=1xor1=0第1位=1xor0=1第0位=0xor0=0二进制值=01010010=十进制的82
是80
十进制128 = 二进制 1001001010 = 格雷码 1101101111.二进制码-格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR)。
作为对应格雷码该位的值,最左边一位不变(相当于左边是0).格雷码的是特点是:相邻两数的格雷码,仅仅有一位二进在一组数的编码中
若任意两个相邻的代码只有一位二进制数不同,则称这种编码为格雷码(Gray Code)。
格雷码是一种常见的无权码,其特点是:相邻性和循环性。它有很多种形式,如:1——0000,2——0001,3——0011,4——0010,5——0110,6——0111,7——0101,8——1100,9——1101或1000。
所以,42转换为格雷码00100001,97换为格雷码11010101或10000101
采纳答案,是错误的。
695
的格雷码,应该是
9
位二进制数。
先把十进制数695转化二进制数:
1010110111
再逐位转换,变成格雷码,即可。
十进制 586 = 二进制 1001001010 = 格雷码 1101101111。
二进制码-格雷码(编码):
从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,
最左边一位不变(相当于左边是0).
格雷码的是特点是:
相邻两数的格雷码,仅仅有一位二进制发生变化。
而且在其范围内的最小值和最大值,也仅仅有一位二进制发生变化。
例如下面两数:
最小:二进制0000=格雷码0000
最大:二进制1111=格雷码1000
----
楼上在变换的过程中,插入了BCD码,这就失去了格雷码的特点。
在BCD码中:
最小:二进制0000=格雷码0000
最大:二进制1001=格雷码1101
可以看出,它们之间有三位发生变化。
通过BCD码来变换格雷码,思路不对。变换出来的,并不是原数的格雷码。