「10進数から2進数ってどうやって変換するの?」と疑問に思ったことはありませんか?
2進数はコンピューターの基本的な数の表現方法であり、プログラミングや情報技術の学習において欠かせない知識のひとつです。
普段使い慣れている10進数とはまったく異なる表記に、最初は戸惑う方も多いでしょう。
この記事では、10進数から2進数への変換方法を中心に、2進数から10進数への換算方法もあわせてわかりやすく解説します。
変換の手順や例題、よく使われる対応表も紹介しているので、ぜひ参考にしてみてください。
10進数から2進数への変換は「2で割り続ける」!変換の結論
それではまず、10進数から2進数に変換する方法の結論から解説していきます。
10進数を2進数に変換するには、2で繰り返し割り続けて余りを下から並べる方法が基本です。
たとえば10進数の「13」を2進数に変換すると「1101」になります。
10進数 → 2進数の変換:2で繰り返し割り、余りを下から並べる
例:13(10進数)= 1101(2進数)
逆に2進数から10進数に変換する場合は、各桁の数字に2の累乗を掛けて合計します。
どちらの変換も手順を覚えれば誰でも確実にできるようになるでしょう。
10進数と2進数の基本的な仕組み
続いては、10進数と2進数それぞれの基本的な仕組みを確認していきます。
変換方法を理解するうえで、まず各記数法の考え方を押さえておくことが大切です。
10進数とは?
10進数とは、0から9までの10種類の数字を使って数を表す記数法です。
私たちが日常的に使っている数の表し方であり、位が上がるごとに10倍になる仕組みです。
例:345 = 3 × 100 + 4 × 10 + 5 × 1
= 3 × 10² + 4 × 10¹ + 5 × 10⁰
10進数は「基数が10」の記数法であり、各桁は10の累乗に対応しています。
2進数とは?
2進数とは、0と1の2種類の数字だけを使って数を表す記数法です。
コンピューターの内部ではすべてのデータが電気信号のオン・オフで処理されるため、2進数が基本的な数の表現方法として使われています。
例:1101(2進数) = 1 × 8 + 1 × 4 + 0 × 2 + 1 × 1
= 1 × 2³ + 1 × 2² + 0 × 2¹ + 1 × 2⁰
= 8 + 4 + 0 + 1 = 13
2進数は「基数が2」の記数法であり、各桁は2の累乗に対応しています。
2の累乗の値を覚えておこう
2進数の変換では2の累乗の値を知っておくと計算がスムーズになります。
2⁰ = 1
2¹ = 2
2² = 4
2³ = 8
2⁴ = 16
2⁵ = 32
2⁶ = 64
2⁷ = 128
これらの値を覚えておくと、2進数から10進数への変換が素早くできるようになるでしょう。
10進数から2進数への変換手順を例題で解説
続いては、実際の例題を通じて10進数から2進数への変換手順を練習していきます。
「2で割り続けて余りを下から並べる」という手順を、具体的な数値で確認していきましょう。
例題1:10進数の13を2進数に変換する
13 ÷ 2 = 6 余り 1 ← 最後に並べる(最上位ビット側)
6 ÷ 2 = 3 余り 0
3 ÷ 2 = 1 余り 1
1 ÷ 2 = 0 余り 1 ← 最初に並べる(最下位ビット側)
余りを下から順に並べると:1101
答え:13(10進数)= 1101(2進数)
商が0になるまで2で割り続け、余りを下から順に並べると2進数が得られます。
余りを「下から」並べることが変換のポイントです。
例題2:10進数の25を2進数に変換する
25 ÷ 2 = 12 余り 1
12 ÷ 2 = 6 余り 0
6 ÷ 2 = 3 余り 0
3 ÷ 2 = 1 余り 1
1 ÷ 2 = 0 余り 1
余りを下から順に並べると:11001
答え:25(10進数)= 11001(2進数)
25を2進数に変換すると11001になります。
桁数が増えても手順は同じであり、商が0になるまで割り続けることを忘れずに行いましょう。
例題3:10進数の255を2進数に変換する
255 ÷ 2 = 127 余り 1
127 ÷ 2 = 63 余り 1
63 ÷ 2 = 31 余り 1
31 ÷ 2 = 15 余り 1
15 ÷ 2 = 7 余り 1
7 ÷ 2 = 3 余り 1
3 ÷ 2 = 1 余り 1
1 ÷ 2 = 0 余り 1
答え:255(10進数)= 11111111(2進数)
255は2進数で8桁すべてが1になる特別な数値です。
コンピューターの1バイト(8ビット)で表せる最大値が255(=11111111)であり、IPアドレスのサブネットマスクなどでよく登場する数値です。
2進数から10進数への変換手順を例題で解説
続いては、2進数から10進数への変換手順を例題で確認していきます。
「各桁の数字に2の累乗を掛けて合計する」という手順を具体的な数値で練習していきましょう。
例題1:2進数の1010を10進数に変換する
1010(2進数)
= 1 × 2³ + 0 × 2² + 1 × 2¹ + 0 × 2⁰
= 1 × 8 + 0 × 4 + 1 × 2 + 0 × 1
= 8 + 0 + 2 + 0 = 10
答え:1010(2進数)= 10(10進数)
2進数の1010は10進数の10に相当します。
右端の桁から2⁰・2¹・2²・2³の順に対応させて計算することがポイントです。
例題2:2進数の11111111を10進数に変換する
11111111(2進数)
= 128 + 64 + 32 + 16 + 8 + 4 + 2 + 1
= 255
答え:11111111(2進数)= 255(10進数)
8桁すべてが1の2進数は10進数の255になります。
2の累乗の値を覚えておくと、このような計算がスムーズに行えるでしょう。
10進数と2進数の対応表
続いては、よく使われる10進数と2進数の対応をまとめた一覧表を確認していきます。
対応表を参照することで、毎回計算しなくても素早く変換値を確認できます。
| 10進数 | 2進数 | 10進数 | 2進数 |
|---|---|---|---|
| 0 | 0 | 8 | 1000 |
| 1 | 1 | 9 | 1001 |
| 2 | 10 | 10 | 1010 |
| 3 | 11 | 11 | 1011 |
| 4 | 100 | 12 | 1100 |
| 5 | 101 | 13 | 1101 |
| 6 | 110 | 14 | 1110 |
| 7 | 111 | 15 | 1111 |
この対応表を活用すれば、0から15までの数値は計算なしで素早く変換できます。
プログラミングの学習やIT資格の試験対策にぜひ役立ててください。
2進数が使われる身近な場面
2進数が使われる代表的な場面をいくつか挙げてみましょう。
コンピューターの内部処理(すべてのデータは2進数で管理)、IPアドレスのサブネットマスク計算、プログラミングのビット演算、カラーコード(RGBの各値は0〜255の範囲)などが代表的な例として挙げられます。
IT・情報処理の分野では2進数の知識は基礎中の基礎であり、しっかり理解しておくことが大切です。
16進数との関係も覚えておこう
プログラミングやIT分野では、2進数とあわせて16進数(0〜9とA〜Fの16種類の記号で表す記数法)もよく使われます。
2進数4桁 = 16進数1桁
例:1111(2進数)= F(16進数)= 15(10進数)
例:1010(2進数)= A(16進数)= 10(10進数)
2進数4桁がちょうど16進数1桁に対応するため、2進数と16進数は相互変換がとても簡単です。
HTMLのカラーコード(例:#FF5733)やメモリアドレスの表示などで16進数が登場するため、あわせて覚えておくと役立つでしょう。
Pythonで2進数と10進数を変換する方法
プログラミング言語Pythonでは、組み込み関数を使って簡単に2進数と10進数を相互変換できます。
10進数 → 2進数:bin(13) → ‘0b1101’
2進数 → 10進数:int(‘1101’, 2) → 13
bin()関数は10進数を2進数の文字列に変換し、int()関数の第2引数に基数を指定することで任意の進数から10進数に変換できます。
プログラムで進数変換を行う際はこれらの組み込み関数を活用すると効率的です。
まとめ
この記事では、10進数から2進数への変換方法と2進数から10進数への換算方法を例題付きで解説しました。
10進数を2進数に変換するには2で繰り返し割り続けて余りを下から並べる方法が基本です。
逆に2進数を10進数に変換するには、各桁に2の累乗を掛けて合計します。
10進数 → 2進数:2で繰り返し割り、余りを下から並べる
2進数 → 10進数:各桁 × 2の累乗を合計する
例:13(10進数)= 1101(2進数)
2進数の変換はプログラミングやIT資格の学習において基礎となる重要な知識です。
対応表もあわせて活用しながら、10進数と2進数の相互変換をしっかりマスターしていきましょう。