← 教科書一覧へ2進数と基数
標準約 13 分離散数学
概要
本ユニットでは、コンピュータが内部で情報を表す基本である2進数の仕組みと、私たちが普段使う10進数との基数変換、そして2進数どうしの加算・減算を学びます。情報表現の最も土台となる分野で、データ量や文字コードなど後続の多くの単元の前提となるため、試験でも頻出の重要テーマです。
用語(4)
2進数
0と1の2種類の数字だけで数を表す表現方法。基数は2。
2進数は、0と1の2つの数字だけを使って数を表す方法です。コンピュータは電気のオン(1)・オフ(0)で情報を扱うため、内部ではすべてこの2進数で処理されています。
私たちが日常で使う10進数は0〜9の10種類を使い、9の次に桁が上がりますが、2進数は1の次にすぐ桁が上がります(1の次は10)。各桁は右から1・2・4・8…と重みが2倍ずつ増えます。
試験では、10進数との違いや、1ビットで0と1の2通り、nビットで2のn乗通りを表せるという考え方が問われます。「基数」とは1桁で扱える数字の種類の数で、2進数の基数は2です。
たとえオンとオフしかない電球を何個も並べ、その点灯パターンで数を表すようなものです。指が2本しかなく、片方を立てたら次は桁上がり、というイメージです。
記憶フック2進数といえば0と1だけ・基数2でコンピュータの基本
基数変換
ある基数の数を別の基数の表現に変換すること。例:2進数⇔10進数。
基数変換とは、2進数・10進数・16進数など、基数の異なる表現どうしを相互に変換することです。代表的なのは2進数と10進数の変換です。
2進数を10進数にするには、各桁の数字に桁の重み(右から1・2・4・8…)を掛けて合計します。例えば2進数の1011は、8+0+2+1=11(10進数)です。逆に10進数を2進数にするには、2で割った余りを下の桁から順に並べます。
試験では、簡単な2進数⇔10進数の変換が頻出です。16進数(基数16)もよく登場し、2進数4桁が16進数1桁に対応する点も押さえておくとよいでしょう。
たとえ同じ金額を「円」と「ドル」で言い換えるように、表す数自体は同じでも、使う数字の種類(物差しの目盛り)を取り替えて表現し直す作業です。
記憶フック基数変換といえば桁の重みを掛けて足す(2進→10進)
加算
2進数どうしを足す演算。1+1で桁上がり(繰り上がり)が起きる。
加算は数を足す演算で、2進数でも10進数と同じ筆算の考え方で行えます。違いは桁が上がるタイミングです。
2進数では、0+0=0、0+1=1、1+0=1までは桁が上がりませんが、1+1になると桁上がりして「10」(その桁は0、上の桁へ1)となります。10進数で9+1=10になるのと同じ仕組みが、2進数では1つ早く起きると考えると分かりやすいです。
試験では、簡単な2進数の足し算で、繰り上がりを正しく処理できるかが問われます。例えば1 + 1 = 10、11 + 1 = 100 のように、桁上がりが連鎖する計算に注意しましょう。
たとえそろばんで、1つの桁が満杯になったら隣の桁へ1つ繰り上げる動きと同じです。2進数では「2つたまったら繰り上げ」になるだけの違いです。
記憶フック加算といえば1+1で桁上がり=10になる
減算
2進数どうしを引く演算。足りないとき上の桁から借りる(繰り下がり)。
減算は数を引く演算で、2進数でも10進数と同様に筆算で計算できます。引けないときは上の桁から1を借りる「繰り下がり」が起きます。
2進数で上の桁から1を借りると、その桁では2を借りたことになります(2進数では1つ上の桁が2の重みのため)。例えば10 - 1 は、上の桁から借りて 1 となります。
コンピュータ内部では、減算を「補数」を使って加算に置き換えて処理することが多く、これにより引き算の回路を加算回路で共用できます。試験では、簡単な2進数の引き算や、減算が補数を用いて加算で実現できるという考え方が問われることがあります。
たとえ10円玉が足りないとき、100円玉を1枚くずして10円玉に両替してから払うようなものです。2進数では1つ上の桁をくずすと「2」に両替されます。
記憶フック減算といえば繰り下がり・補数で加算に置き換え
まとめ
要点
- 2進数は0と1の2種類だけで数を表し(基数2)、コンピュータ内部の情報表現の基本である。
- 各桁は右から1・2・4・8…と重みが2倍ずつ増え、nビットで2のn乗通りを表せる。
- 基数変換は、2進→10進は各桁に重みを掛けて合計し、10進→2進は2で割った余りを並べる。
- 加算は1+1で桁上がり(繰り上がり)、減算は引けないとき上の桁から借りる(繰り下がり)が起きる。
- コンピュータ内部では、減算を補数による加算に置き換えて処理することが多い。
記憶フック一覧
- 2進数: 2進数といえば0と1だけ・基数2でコンピュータの基本
- 基数変換: 基数変換といえば桁の重みを掛けて足す(2進→10進)
- 加算: 加算といえば1+1で桁上がり=10になる
- 減算: 減算といえば繰り下がり・補数で加算に置き換え
関連の過去問演習は今後のアップデートで追加予定です。