10進数から2進数への変換
2で割る方法を使って10進数を2進数に変換。ステップごとの解説と実例、素早い暗算のコツを紹介。オンラインで無料で学べます。
Decimal (Base 10) → Binary (Base 2)Conversion
詳細な説明
10進数から2進数への変換は、2進数から10進数の逆であり、コンピュータを扱うすべての人にとって同様に重要です。最も一般的な手法は2による繰り返し除算です。
ステップごとの例 --- 42 を2進数に変換:
- 42 ÷ 2: 商 = 21, 余り = 0
- 21 ÷ 2: 商 = 10, 余り = 1
- 10 ÷ 2: 商 = 5, 余り = 0
- 5 ÷ 2: 商 = 2, 余り = 1
- 2 ÷ 2: 商 = 1, 余り = 0
- 1 ÷ 2: 商 = 0, 余り = 1
余りを下から上に読みます: 101010。したがって 42₁₀ = 101010₂ です。
別の方法 --- 2のべき乗の引き算:
対象の数値に収まる最大の 2 のべき乗から引き算を始めます:
- 42 - 32(2⁵) = 10, 1 を書く
- 10 - 16(2⁴)? 不可。0 を書く
- 10 - 8(2³) = 2, 1 を書く
- 2 - 4(2²)? 不可。0 を書く
- 2 - 2(2¹) = 0, 1 を書く
- 0 - 1(2⁰)? 不可。0 を書く
結果: 101010₂。この引き算方式は暗算では多くの場合より速く変換できます。
実用的なヒント:
- 64、128、256 などのきりの良い数は 2 のべき乗そのものなので、即座に変換できます。
- 255 のような数を変換するには、
2⁸ - 1であることを認識すれば、2進数表現は8つの 1:11111111です。 - プログラミングでは、JavaScript の
parseInt("101010", 2)や Python のint("101010", 2)で結果を検証でき、どちらも 42 を返します。
10進数から2進数への変換を理解することは、ハッシュ関数の実装、データのエンコード、バイナリプロトコルの扱いに不可欠です。
ユースケース
ネットワークエンジニアは、255、252、248 などの10進数のサブネットマスク値を2進数に変換し、IPアドレスのネットワーク部分とホスト部分をどのビットが定義しているかを正確に把握します。