ITサポート

セミナー

会員特典

その他

過去のコラム等

Twitter

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■第9回 加算と減算 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━  コンピュータは「計算機」とも言われますが、その名の通り、計算処理を頻  繁に行っています。  今回は、コンピュータの気持ちになって、2進数の計算をやってみましょう。 ●加算  10進数と同様に、桁上がりに注意していけばいいです。  1と1のときに桁が上がると考えておけばいいでしょう。  (例)10 + 3     1 0 1 0   + 0 0 1 1   -----------   1 1 0 1 ●減算  減算は、10進数と少し違います。  というのも、コンピュータは加算しかできないのです。  ではどうするのかというと、加算の仕組みを利用しています。  A - B を計算したい場合、A + (-B) と計算する訳です。  マイナス値の表現には、2の補数というものを求めます。  方法は簡単で、まず全てのビットの 0 と 1 を逆にします。  これを、「1の補数」と言います。  (例)3 (0011) のとき → 1100  次に、さきほど求めた「1の補数」に1を加算します。  これを、「2の補数」と言います。  (例)1100 + 1 → 1101 (-3のマイナス値表現)  これで、マイナス値が表現できましたので、加算で減算を行うことができま  す。  (例)10 - 3     1 0 1 0   + 1 1 0 1 ← 3の「2の補数」   -----------   1 0 1 1 1  答えは、10111 となりますが、先頭の1ビットは無視します。  すると、0111 となります。10進数に変換すると 7 になりますので、10 - 3  の結果と等しいことが分かると思います。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━