「2の補数」の版間の差分
削除された内容 追加された内容
4行目: | 4行目: | ||
頭の部分の1個以上の0を含む(正規化されていない)ある桁数の二進法で表現された数があるとき、その最上位ビット (MSB) よりひとつ上のビットが1で、残りが全て0であるような値(8ビットの整数であれば、100000000<sub>(二進)</sub> = 256)から、元の数を引いた数が'''2の補数'''である。MSBの重みが1であるような固定小数点表現の場合は特に「2」の補数となる。 |
頭の部分の1個以上の0を含む(正規化されていない)ある桁数の二進法で表現された数があるとき、その最上位ビット (MSB) よりひとつ上のビットが1で、残りが全て0であるような値(8ビットの整数であれば、100000000<sub>(二進)</sub> = 256)から、元の数を引いた数が'''2の補数'''である。MSBの重みが1であるような固定小数点表現の場合は特に「2」の補数となる。 |
||
== 1の補数 == |
|||
二進法における、減基数すなわち 2<sup>n</sup> − 1 による補数を'''1の補数'''と言う。1の補数は、全ての桁が1である値から、元の値を引けば求まるが、各ビットの1を0に、0を1に、と反転させても求められる。 |
|||
00100100(元の数) |
|||
11011011(1の補数) |
|||
11011100(2の補数) |
|||
== 十進法との対応 == |
== 十進法との対応 == |
2015年12月18日 (金) 00:53時点における版
2の補数(にのほすう)は、2、ないし2のべき乗の補数、またそれによる負の値の表現法である。特に二進法で使われる。(数学的あるいは理論的には、三進法における減基数による補数、すなわち 3n − 1 = 2222....2222(三進) による補数も「2の補数」であるが、まず使われることはない)
コンピュータの固定長整数型や、固定小数点数で、負の値を表現するためや加算器で減算をするために使われる。
頭の部分の1個以上の0を含む(正規化されていない)ある桁数の二進法で表現された数があるとき、その最上位ビット (MSB) よりひとつ上のビットが1で、残りが全て0であるような値(8ビットの整数であれば、100000000(二進) = 256)から、元の数を引いた数が2の補数である。MSBの重みが1であるような固定小数点表現の場合は特に「2」の補数となる。
十進法との対応
十進表記 | 4ビット整数表記 |
---|---|
−8 | 1000 |
−7 | 1001 |
−6 | 1010 |
−5 | 1011 |
−4 | 1100 |
−3 | 1101 |
−2 | 1110 |
−1 | 1111 |
0 | 0000 |
1 | 0001 |
2 | 0010 |
3 | 0011 |
4 | 0100 |
5 | 0101 |
6 | 0110 |
7 | 0111 |