「2の補数」の版間の差分

削除された内容 追加された内容
2の補数表現からの変換
5行目:
 
頭の部分の1個以上の0を含む(正規化されていない)ある桁数の二進法で表現された数があるとき、その最上位ビット (MSB) よりひとつ上のビットが1で、残りが全て0であるような値(8ビットの整数であれば、<math>100000000_{{2}} = 256</math>)から、元の数を引いた数が'''2の補数'''である。MSBの重みが1であるような固定小数点表現の場合は特に「2」の補数となる。
 
 
== 2の補数表現からの変換 ==
2 の補数は、2 進数表現で正と負の数を符号化する。各ビットの重みは2の累乗であるが、最上位ビットを除き、その重みは対応する2の累乗の負の値である。
 
{{mvar|N}}-ビットの整数 <math>a_{N-1} a_{N-2} \dots a_0</math> の値 {{mvar|w}} は、次式で与えられる。
 
: <math>w = -a_{N-1} 2^{N-1} + \sum_{i=0}^{N-2} a_i 2^i</math>
 
最上位ビットは数値の符号を決定し、符号ビットと呼ばれることもある。符号と大きさの表現とは異なり、符号ビットは上記のように重み {{math|−(2<sup>''N'' − 1</sup>)}} を持つ。{{mvar|N}} ビットを使うと、{{math|−(2<sup>''N'' − 1</sup>)}} から {{math|2<sup>''N'' − 1</sup> − 1}} までのすべての整数を表現することができる。
 
== 例 ==