10進数と2進数の変換方法を解説!

10進数と2進数の変換方法を解説!

記事の文字数:1527

10進数と2進数の変換方法をわかりやすく解説します。割り算や2の冪乗の考え方、手計算例やPythonコード例も紹介します。


スポンサーリンク

数値を異なる進数で表現する方法として、10進数と2進数の変換はITエンジニアに必要な基本的なスキルの一つです。
本記事では、10進数を2進数に変換する方法、そしてその逆の2進数を10進数に変換する方法を解説します。

10進数を2進数に変換する方法

10進数を2進数に変換するには、「割り算の余り」を用います。以下にステップを示します。

手順

  1. 変換したい10進数を2で割ります。
    • 商と余りを求めます。
  2. 商を再び2で割ります。
    • 再度、商と余りを求めます。
  3. 商が0になるまでこの操作を繰り返します。
  4. 出た余りを逆順に並べます。
    • これが2進数になります。

例:10進数「13」を2進数に変換

  1. 13 ÷ 2 = 商6、余り1
  2. 6 ÷ 2 = 商3、余り0
  3. 3 ÷ 2 = 商1、余り1
  4. 1 ÷ 2 = 商0、余り1

余りを逆順に並べると、1101となります。


2進数を10進数に変換する方法

2進数を10進数に変換するには、「各桁に対応する2の冪乗」を用います。

手順

  1. 2進数の各桁に、それが何の位かを考えます。
    • 最右桁を0乗、次を1乗、その次を2乗…とします。
  2. 各桁の値にその桁の重み(2の冪乗)を掛けます。
  3. それらを全て足し合わせます。

例:2進数「1101」を10進数に変換

  1. 右から各桁に対応する2の冪乗を書き出します。
    • 1 × 2^3 = 8
    • 1 × 2^2 = 4
    • 0 × 2^1 = 0
    • 1 × 2^0 = 1
  2. これらを足します。
    • 8 + 4 + 0 + 1 = 13

答えは10進数で13です。


8ビットの2進数とそれぞれの桁が表す10進数

8ビットの2進数では、それぞれの桁(ビット)は「2の冪乗」に対応しています。以下に各ビットの位置と、それが10進数で表す値を示します。

8ビットの2進数とそれぞれの桁が表す10進数

ビットの位置76543210
2の冪乗2^72^62^52^42^32^22^12^0
10進数値1286432168421

詳細な説明

  • 最左のビット(ビット7)は「2^7」に対応し、10進数では128を表します。
  • 次のビット(ビット6)は「2^6」に対応し、10進数では64を表します。
  • 右に進むごとに冪乗が1つずつ減り、最後のビット(ビット0)は「2^0」で10進数では1を表します。

もし8ビットの2進数が 10101010 ならば、それぞれのビットの値を加算します:

  • 1 × 2^7 = 128
  • 0 × 2^6 = 0
  • 1 × 2^5 = 32
  • 0 × 2^4 = 0
  • 1 × 2^3 = 8
  • 0 × 2^2 = 0
  • 1 × 2^1 = 2
  • 0 × 2^0 = 0

これらを合計すると、10進数では 170 になります。

8ビットの2進数では、各ビットが「2の冪乗」としての値を持ちます。
この対応関係を理解することで、2進数から10進数への変換が簡単に行えます。


実用例

プログラミングにおける変換

多くのプログラミング言語には、10進数と2進数を簡単に変換するための組み込み関数があります。

Pythonの場合

  • 10進数を2進数に変換する:bin()関数を使用

    num = 13
    binary = bin(num)
    print(binary) # 出力: '0b1101'
  • 2進数を10進数に変換する:int()関数を使用

    binary = "1101"
    decimal = int(binary, 2)
    print(decimal) # 出力: 13

まとめ

10進数と2進数の変換は、プログラミング的にも重要なスキルです。
基本的なルールを理解することで、手計算やコードを使って簡単に変換が可能です。
ぜひ、練習してみてください!


以上で本記事の解説を終わります。
よいITライフを!
スポンサーリンク
Scroll to Top