「2の補数」とは?
状態:-
閲覧数:895
投稿日:2017-11-25
更新日:2017-11-25
平仮名表記
・にのほすう
英語表記
・2's complement
2、ないし2のべき乗の補数、またそれによる負の値の表現法
・2進数において、「1の補数」に1を足したもの
→ 2進数において、0と1を反転させた結果に、さらに1を加えたもの
二進法
・コンピュータの固定長整数型や、固定小数点数で、負の値を表現するためや加算器で減算をするために使用
使用メリット
・負の数を「2の補数」とすることで、引き算を足し算で行うことができる
・その結果、コンピューター内部で加減乗除の四則演算を全て加算処理だけで行うことができるようになるため、計算回路が簡素化できる
加算
・加算回路で加算する
減算
・引く数の補数を加える(補数の加算)
乗算
・加算の繰り返し
除算
・補数加算の繰り返し
・にのほすう
英語表記
・2's complement
2、ないし2のべき乗の補数、またそれによる負の値の表現法
・2進数において、「1の補数」に1を足したもの
→ 2進数において、0と1を反転させた結果に、さらに1を加えたもの
使用場面
二進法
・コンピュータの固定長整数型や、固定小数点数で、負の値を表現するためや加算器で減算をするために使用
使用メリット
・負の数を「2の補数」とすることで、引き算を足し算で行うことができる
・その結果、コンピューター内部で加減乗除の四則演算を全て加算処理だけで行うことができるようになるため、計算回路が簡素化できる
加算
・加算回路で加算する
減算
・引く数の補数を加える(補数の加算)
乗算
・加算の繰り返し
除算
・補数加算の繰り返し
「1の補数」と「2の補数」の求め方
「1の補数」とは?
2進数において、0と1を反転させたもの
「2の補数」を求める
2進数において、「1の補数」に1を足したもの
「マイナスの10進数」を「2の補数」で表現する方法
1.対象の10進数を2進数に変換する
2.表現するビット数で表現する
・上位に足りないけた数分0を補充
3.「1の補数」を求める
4.「2の補数」を求める
「2の補数」表現された2進数のプラスとマイナスの見分け方
「2の補数」表現における最上位のビット(一番左端のビット)は、結果的に数値の符号を数値の符号を表している
最上位のビットが1
・負(マイナス)の数値
最上位のビットが0
・非負の数値
・0または正の数値
具体例
1の補数
ただ反転させるだけなので簡単
1011の「1の補数」
・0100
10111011 の「1の補数」
・01000100
10100100 の「1の補数」
・01011011
2の補数
0と1を反転させた結果に、さらに1を加えたもの
1011 の「2の補数」
・0と1を反転させた 0100 に1を加えたもの
→ 0101
10100100 の「2の補数」
・0と1を反転させた 01011011 に1を加えたもの
→ 01011100
※1を加えて2とならない理由は、2進数なので0と1しか存在しないため