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

m
編集の要約なし
m編集の要約なし
 
{{出典の明記|date=2016年1月9日 (土) 07:45 (UTC)}}
'''2の補数'''(にのほすう)は、2、ないし2のべき乗の[[補数]]、またそれによる負の値の表現法である。特に[[二進法]]で使われる。(数学的あるいは理論的には、三進法における減基数による補数、すなわち{{math| 3<sup>''n''</sup> − 1 = 2222....2222<sub>(3)</sub>}} による補数も「2の補数」であるが、まず使われることはない)
 
[[コンピュータ]]の固定長[[整数型]]や、[[固定小数点数]]で、負の値を表現するためや[[加算器]]で減算をするために使われる。
 
頭の部分の1個以上の0を含む(正規化されていない)ある桁数の二進法で表現された数があるとき、その最上位ビット (MSB) よりひとつ上のビットが1で、残りが全て0であるような値(8ビットの整数であれば、100000000<mathsub>100000000_{{2}} = 256</mathsub> = 256)から、元の数を引いた数が'''2の補数'''である。MSBの重みが1であるような固定小数点表現の場合は特に「2」の補数となる。
 
 
そこで、計算の工程数をより削った方法として、1が出てくる最下桁までをそのままにして、それより上の桁のビットを反転させるという方法が考えられる。
== 1の補数 ==
二進法における、減基数すなわち 2<sup>''n''</sup> − 1 による補数を'''1の補数'''と言う。1の補数は、全ての桁が1である値から、元の値を引けば求まるが、各ビットの1を0に、0を1に、と反転させても求められる。
{{math|00100100}}(元の数)
{{math|11011011}}(1の補数)