情報理論と符号の基礎
グレイコードを通常の2進数に直すには、最上位のビットはそのまま使い、それより下位のビットは、1つ上位の位置で求めた2進数のビットと、同じ位置のグレイコードのビットとの排他的論理和で求める。4ビットのグレイコード 1101 を2進数に直したものはどれか。
- A1001(10進数の9)
- B1011(10進数の11)
- C1101(10進数の13)
答えと解説を見る
正解:A. 1001(10進数の9)
最上位は1、次は 1 ⊕ 1 = 0、その次は 0 ⊕ 0 = 0、最下位は 0 ⊕ 1 = 1 なので、2進数は 1001(10進数の9)です。確かめとして、1001 と、それを右に1ビットずらした 0100 との排他的論理和をとると 1101 になり、元のグレイコードに戻ります。グレイコードでは、8が1100、9が1101、10が1111のように、隣り合う値で1ビットだけが変わります。
- A. 正しい。1、1 ⊕ 1、0 ⊕ 0、0 ⊕ 1 と順に求めて 1001 です。
- B. 1011 は、2進数からグレイコードへの変換(隣り合うビットの排他的論理和)を 1101 に当てはめた結果で、変換の向きが逆です。
- C. 1101 は、グレイコードをそのまま2進数として読んだ値です。