2進数の足し算・引き算の完全ガイド

基本情報技術者試験, FE 基本情報技術者試験
基本情報技術者試験

コンピュータは内部的に「2進数」を用いてデータを処理しています。

日常的に使われる「10進数」とは異なり、2進数は「0」と「1」だけを使って数値を表します。

本記事では、2進数の足し算と引き算の基本的な方法と、負の数を扱う際の「2の補数」についてわかりやすく解説します。


スポンサーリンク

2進数の足し算

2進数の足し算は、10進数の足し算とほぼ同じですが、繰り上がりの規則が異なります

2進数では、2(10進数で2)になると桁が上がるため、「1 + 1 = 10」となります。

具体的な足し算の方法を見ていきましょう。

足し算の基本ルール

2進数の足し算には、次のような基本ルールがあります。

結果
0 + 00
0 + 11
1 + 01
1 + 110 (繰り上がりが発生)
2進数の足し算の基本ルール

実例:2進数の足し算

次に、2進数同士の足し算を具体的に見てみましょう。例えば、10110101 を足し算します。

  1011
+ 0101
------
 10000

この計算を順番に追ってみましょう:

  1. 右端の桁(1+1)は「10」になるので、0を書き、1を繰り上げます。
  2. 次の桁(1+0+繰り上がり1)も「10」になるので、0を書き、1を繰り上げます。
  3. さらに次の桁(0+1+繰り上がり1)も「10」になるので、0を書き、1を繰り上げます。
  4. 最後に、左端の桁(1+0+繰り上がり1)は「10」になるので、結果は 10000 となります。

2進数の引き算

2進数の引き算は、通常の引き算のように考えることもできますが、コンピュータでは一般的に「2の補数」を使うことで、引き算を足し算に置き換えます

これにより、より効率的に計算が行えるようになります。

負の数の足し算の方法(2の補数を利用)

負の数を扱うために使われるのが「2の補数」です。

2の補数とは、ある数値のビットを反転(0を1、1を0にする)し、その後に1を加えることで得られます。

これを使うことで、引き算を足し算に変換できます。

2の補数の求め方

例えば、10進数の3を2進数に変換し、それを負の数として表現する場合、以下のステップを行います。

  1. まず、3を2進数で表すと 0011 です。
  2. 次にビットを反転すると 1100 になります。
  3. 最後に1を足すと 1101 になり、これが -3 を2進数で表した値(2の補数)です。

2の補数を使った引き算の例

ここでは、5 – 3 を2進数で計算してみます。

先に述べたように、引き算は2の補数を使って足し算に変換します。

  0101   (5の2進数表現)
+ 1101   (-3の2進数表現)
------
 10010

この計算の結果、5ビットの答えになりますが、通常は最上位ビットを無視するので0010 つまり「2」となります。


補足:符号ビットの役割

2の補数を使って負の数を表す場合、最も左のビット(符号ビット)が重要な役割を果たします。

このビットが0であればその数値は正の数を、1であれば負の数を表します。

例として、8ビットの2進数 11000001 を考えてみます。

この場合、最上位ビットが1であるため、この数値は負数であることがわかります。

8ビットで表せる数値の範囲

8ビットの2進数が表せる数値の範囲は、2の補数を使用するかどうかで異なります。

  • 2の補数を使用する場合:範囲は -128 から 127 となります。
    • 最小値: 10000000 (-128)
    • 最大値: 01111111 (127)
  • 2の補数を使用しない場合:範囲は 0 から 255 です。
    • 最小値: 00000000 (0)
    • 最大値: 11111111 (255)

まとめ

本記事では、2進数の足し算と引き算について解説しました。

特に、2の補数を用いることで、負の数を扱いながらも引き算を足し算に置き換えて効率的に計算が行える点がポイントです。

コンピュータの基礎を理解するためには、2進数とその演算方法をしっかりと押さえることが重要です。
今回学んだ内容は、デジタル世界の基本であり、これを理解することで、より高度なコンピュータサイエンスの知識へのステップアップが可能になります。

コメント