10進数を2進数に変換する基本テクニックは「2で割って余りを記録し、それを逆順に並べる」だけ。この手順を、ステップごとに体験してみましょう。
10進数 → 2進数とは、私たちが普段使っている10進数(0〜9)の数を、コンピュータが扱う2進数(0と1のみ)の表現に変換することです。コンピュータの仕組みを理解するうえで基本となる操作です。
たとえば13(10進)を2進数に変換すると1101(2進)になります。これは「13 = 1×8 + 1×4 + 0×2 + 1×1」という意味です。
変換の方法は2つあります。
・割り算法(このページのテーマ): 2で繰り返し割って余りを集める
・重み法: 桁の重み(128, 64, 32...)を上から順に当てはめる
割り算法の方が確実なので、まずはこちらを身につけましょう。
手順は3つだけです。
・① 元の数を 2 で割って、商と余りを書き出す
・② 商を「次の割られる数」として、また 2 で割る
・③ 商が 0 になるまで①②を繰り返す
13 を変換する例:
・13 ÷ 2 = 6 余り 1
・6 ÷ 2 = 3 余り 0
・3 ÷ 2 = 1 余り 1
・1 ÷ 2 = 0 余り 1(商が 0 なので終了)
なぜ 2 で割るかというと、「2で割った余りは、その桁が 1 か 0 かを教えてくれる」からです。10進数を 10 で割ると最後の桁が分かるのと同じ仕組みで、2進数の各桁を末尾から取り出していることになります。
余りは「下の桁から順に」出てきます。最初に出る余りが 1の位(最下位ビット)、次が 2の位、その次が 4の位、... という順番です。
人間が読み書きする 2 進数は「最上位ビットが左」なので、生成順とは逆向きになります。だから記録した余りを逆順(下から上)に読むことで、最終的な2進数の正しい表記が得られます。
13 の例で確認:
・余りの生成順: 1, 0, 1, 1
・これは「1の位 = 1、2の位 = 0、4の位 = 1、8の位 = 1」という意味
・上の桁から並べると: 1101
・検算: 1×8 + 1×4 + 0×2 + 1×1 = 13 ✓
覚え方のコツ: 「割り算は下から上に向かって進む、答えは下から読む」と覚えると忘れにくいです。計算結果が 逆順になっていないか を最後に確認するとミスを防げます。