4

符号ビットを持つ負の 2 進数があり、そのグレイ コードを取得するプログラムを作成したいと考えています。ただし、正の数の解しか見つかりません。だからここで私はこの質問をしています。ありがとう。

4

2 に答える 2

0

グレイ コードは、次の方法を使用して、負でない数値に対してのみ計算できます。

int gray_encode(int n) {
    return n ^ (n >> 1);
}

2 進数は 2 の補数表現であるため、同じ方法は負の数に対しては機能しません。

于 2014-11-22T13:05:50.533 に答える