能舉例說明一下格雷碼如何計算嗎?使用者46458851611582020-02-28 10:32:39

十進位制 586 = 二進位制 1001001010 = 格雷碼 1101101111。

二進位制碼->格雷碼(編碼):

從最右邊一位起,依次將每一位與左邊一位異或(XOR),作為對應格雷碼該位的值,

最左邊一位不變(相當於左邊是0)。

格雷碼的是特點是:

相鄰兩數的格雷碼,僅僅有一位二進位制發生變化。

而且在其範圍內的最小值和最大值,也僅僅有一位二進位制發生變化。

例如下面兩數:

最小:二進位制0000=格雷碼0000

最大:二進位制1111=格雷碼1000

----

樓上在變換的過程中,插入了BCD碼,這就失去了格雷碼的特點。

在BCD碼中:

最小:二進位制0000=格雷碼0000

最大:二進位制1001=格雷碼1101

可以看出,它們之間有三位發生變化。

透過BCD碼來變換格雷碼,思路不對。變換出來的,並不是原數的格雷碼。