2進数⇔10進数 変換
クイック変換:よく使われる数値をクリックして素早く変換
10
100
255
1024
1111
11111111
変換方法の詳細解説
10進数から2進数への変換方法
10進数を2進数に変換するには、2で割り続ける方法が最も一般的です。
- 変換したい10進数を2で割る
- 商と余りを記録する
- 商が0になるまで、商を2で割り続ける
- 余りを下から上に並べると2進数になる
具体例:10進数「13」を2進数に変換
13 ÷ 2 = 6 余り 1
6 ÷ 2 = 3 余り 0
3 ÷ 2 = 1 余り 1
1 ÷ 2 = 0 余り 1
余りを下から読むと:1101
13 ÷ 2 = 6 余り 1
6 ÷ 2 = 3 余り 0
3 ÷ 2 = 1 余り 1
1 ÷ 2 = 0 余り 1
余りを下から読むと:1101
別の方法:2の累乗を使用する方法もあります。13 = 8 + 4 + 1 = 2³ + 2² + 2⁰ なので、8桁目、4桁目、1桁目に1を立てると「1101」となります。
2進数から10進数への変換方法
2進数を10進数に変換するには、各桁の重みを掛けて合計します。
- 右端(最下位桁)から順に、位置を0, 1, 2, 3…と番号付けする
- 各桁の数値に、2のその位置乗を掛ける
- すべての値を合計する
具体例:2進数「1101」を10進数に変換
1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13
1
2³=8
1
2²=4
0
2¹=2
1
2⁰=1
2進数と10進数の対応表
よく使われる2進数と10進数の対応関係を一覧にしました。プログラミングや情報処理試験対策に役立ちます。
| 10進数 | 2進数 | 10進数 | 2進数 |
|---|---|---|---|
| 0 | 0 | 16 | 10000 |
| 1 | 1 | 31 | 11111 |
| 2 | 10 | 32 | 100000 |
| 3 | 11 | 63 | 111111 |
| 4 | 100 | 64 | 1000000 |
| 5 | 101 | 127 | 1111111 |
| 6 | 110 | 128 | 10000000 |
| 7 | 111 | 255 | 11111111 |
| 8 | 1000 | 256 | 100000000 |
| 9 | 1001 | 512 | 1000000000 |
| 10 | 1010 | 1023 | 1111111111 |
| 11 | 1011 | 1024 | 10000000000 |
| 12 | 1100 | 2048 | 100000000000 |
| 13 | 1101 | 4096 | 1000000000000 |
| 14 | 1110 | 8192 | 10000000000000 |
| 15 | 1111 | 16384 | 100000000000000 |
2の累乗表
2進数の各桁が持つ重み(10進数での値)を示します。この表を使えば、暗算でも変換が可能になります。
| 桁位置 | 2の累乗 | 10進数値 | 用途例 |
|---|---|---|---|
| 2⁰ | 1 | 1 | 1ビット目 |
| 2¹ | 2 | 2 | 2ビット目 |
| 2² | 4 | 4 | 3ビット目 |
| 2³ | 8 | 8 | 4ビット目 |
| 2⁴ | 16 | 16 | 5ビット目 |
| 2⁵ | 32 | 32 | 6ビット目 |
| 2⁶ | 64 | 64 | 7ビット目 |
| 2⁷ | 128 | 128 | 8ビット目(1バイト) |
| 2⁸ | 256 | 256 | 9ビット目 |
| 2⁹ | 512 | 512 | 10ビット目 |
| 2¹⁰ | 1024 | 1024 | 1キロバイト(概算) |
| 2¹⁶ | 65536 | 65536 | 16ビット整数最大値+1 |
実用的な変換例
IPアドレスとサブネットマスク
ネットワーク設定でよく使用される数値の2進数表現です。
- 255(10進数) = 11111111(2進数)- サブネットマスクで頻出
- 254(10進数) = 11111110(2進数)- 使用可能ホスト数
- 192(10進数) = 11000000(2進数)- クラスCネットワーク
- 128(10進数) = 10000000(2進数)- サブネット分割
RGBカラーコード
Webデザインで使用される色の数値表現です。
- RGB各色は0〜255の範囲(8ビット = 1バイト)で表現
- 255 = 最大輝度(11111111)
- 128 = 中間輝度(10000000)
- 0 = 最小輝度(00000000)
ファイルサイズとメモリ容量
コンピューターのデータ容量は2進数ベースで管理されます。
- 1024バイト = 1キロバイト(KB)= 10000000000(2進数)
- 8ビット = 1バイト
- 256 = 8ビットで表現できる最大数+1
よくある質問(FAQ)
Q1. 2進数とは何ですか?
2進数は、0と1の2つの数字だけで数を表す方法です。コンピューターは電気信号のON(1)とOFF(0)で情報を処理するため、2進数を使用します。私たちが普段使う10進数は0〜9の10個の数字を使いますが、2進数は2で桁上がりします。
Q2. なぜコンピューターは2進数を使うのですか?
コンピューターの内部は電子回路でできており、電流が流れている(ON)か流れていない(OFF)の2つの状態しか持てません。この2つの状態を0と1に対応させることで、確実かつ高速にデータを処理できます。また、2進数はエラーが起きにくく、回路設計もシンプルになります。
Q3. 8ビットと1バイトの関係は?
1バイト = 8ビットです。8ビットの2進数で表せる数は、00000000(0)から11111111(255)までの256通りです。この256という数字は、コンピューターの世界で頻繁に登場します(例:RGBの各色の範囲が0〜255)。
Q4. 2進数で小数は表せますか?
はい、2進数でも小数を表せます。小数点以下は2⁻¹(0.5)、2⁻²(0.25)、2⁻³(0.125)…という重みを持ちます。例えば、2進数の「1.1」は、10進数で「1.5」(1 + 0.5)となります。この形式は浮動小数点数としてコンピューターで使用されています。
Q5. 2進数の負の数はどう表現しますか?
コンピューターでは「2の補数」という方式で負の数を表現します。最上位ビットを符号ビットとして使い、0なら正、1なら負を示します。例えば、8ビットの符号付き整数では、-1は「11111111」、-128は「10000000」と表現されます。
Q6. 情報処理試験で覚えておくべき2進数の知識は?
基本情報技術者試験などでは、以下を覚えておくと便利です:
• 255 = 11111111(8ビット全て1)
• 15 = 1111(4ビット全て1)
• 2の累乗(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024…)
• 1バイト = 8ビット
• 1キロバイト ≒ 1024バイト(2¹⁰)
• 255 = 11111111(8ビット全て1)
• 15 = 1111(4ビット全て1)
• 2の累乗(1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024…)
• 1バイト = 8ビット
• 1キロバイト ≒ 1024バイト(2¹⁰)
Q7. 2進数と16進数の関係は?
16進数は2進数を扱いやすくするための表記法です。2進数の4桁が16進数の1桁に対応します。例えば、2進数「1111」は16進数「F」、2進数「11111111」は16進数「FF」となります。プログラミングやメモリアドレスの表記によく使われます。
Q8. 大きな数の変換を素早く行うコツは?
2の累乗を覚えておくことが重要です。例えば、10進数「1000」を変換する際、512(2⁹)+ 488と分解し、さらに488を256(2⁸)+ 232…と分解していきます。また、255 = 11111111のような基準値を覚えておくと、引き算で効率的に変換できます。
2進数の基礎知識
2進数の歴史
2進数の概念は古代から存在しましたが、数学的に体系化したのは17世紀のドイツの数学者ゴットフリート・ライプニッツです。彼は2進数が「存在」と「無」を表す哲学的な意味も持つと考えました。20世紀に入り、ジョージ・ブールの論理代数と組み合わさることで、現代のデジタルコンピューターの基礎となりました。
ビット(bit)とバイト(byte)
- ビット(bit):2進数の1桁のこと。binary digitの略。0か1のどちらかの値を持つ
- バイト(byte):8ビットをまとめた単位。1文字を表すのに必要な情報量
- ニブル(nibble):4ビット。16進数1桁に相当
- ワード(word):CPUが一度に処理できるビット数(16/32/64ビットなど)
2進数が使われる場面
- コンピューターの内部処理:すべてのデータは最終的に2進数で保存・処理される
- ネットワーク:IPアドレス、サブネットマスクの設定
- プログラミング:ビット演算、フラグ管理、パーミッション設定
- デジタル回路:論理ゲート、フリップフロップなどの設計
- データ圧縮:ハフマン符号化などの圧縮アルゴリズム
- 暗号化:ビット単位での暗号処理
関連する進数体系
| 進数名 | 基数 | 使用する数字 | 主な用途 |
|---|---|---|---|
| 2進数 | 2 | 0, 1 | コンピューターの内部処理 |
| 8進数 | 8 | 0〜7 | Unixのファイルパーミッション |
| 10進数 | 10 | 0〜9 | 日常生活での数の表現 |
| 16進数 | 16 | 0〜9, A〜F | メモリアドレス、カラーコード |
覚え方のヒント:各進数は、その基数で桁上がりします。10進数は10になると桁が上がり、2進数は2になると桁が上がります。16進数は16(10進数)= 10(16進数)で桁が上がります。
実践練習問題
初級問題
- 10進数「7」を2進数に変換してください → 答え: 111
- 2進数「1100」を10進数に変換してください → 答え: 12
- 10進数「16」を2進数に変換してください → 答え: 10000
- 2進数「11111」を10進数に変換してください → 答え: 31
中級問題
- 10進数「100」を2進数に変換してください → 答え: 1100100
- 2進数「10101010」を10進数に変換してください → 答え: 170
- 10進数「255」を2進数に変換してください → 答え: 11111111
- 8ビットで表現できる最大の10進数はいくつですか? → 答え: 255
上級問題
- 10進数「1024」を2進数に変換してください → 答え: 10000000000
- 2進数「111111111」(9ビット)を10進数に変換してください → 答え: 511
- IPアドレス「192.168.1.0」の「192」を2進数に変換してください → 答え: 11000000
- 16ビットで表現できる最大の10進数はいくつですか? → 答え: 65535
