十进制586用格雷码表示是多少?怎么算?
1个回答

十进制 586 = 二进制 1001001010 = 格雷码 1101101111.

二进制码->格雷码(编码):

从最右边一位起,依次将每一位与左边一位异或(XOR),作为对应格雷码该位的值,

最左边一位不变(相当于左边是0).

格雷码的是特点是:

相邻两数的格雷码,仅仅有一位二进制发生变化.

而且在其范围内的最小值和最大值,也仅仅有一位二进制发生变化.

例如下面两数:

最小:二进制0000=格雷码0000

最大:二进制1111=格雷码1000

----

楼上在变换的过程中,插入了BCD码,这就失去了格雷码的特点.

在BCD码中:

最小:二进制0000=格雷码0000

最大:二进制1001=格雷码1101

可以看出,它们之间有三位发生变化.

通过BCD码来变换格雷码,思路不对.变换出来的,并不是原数的格雷码.