
スポンサーリンク
数値を異なる進数で表現する方法として、10進数と2進数の変換はITエンジニアに必要な基本的なスキルの一つです。
本記事では、10進数を2進数に変換する方法、そしてその逆の2進数を10進数に変換する方法を解説します。
10進数を2進数に変換する方法
10進数を2進数に変換するには、「割り算の余り」を用います。以下にステップを示します。
手順
- 変換したい10進数を2で割ります。
- 商と余りを求めます。
- 商を再び2で割ります。
- 再度、商と余りを求めます。
- 商が0になるまでこの操作を繰り返します。
- 出た余りを逆順に並べます。
- これが2進数になります。
例:10進数「13」を2進数に変換
- 13 ÷ 2 = 商6、余り1
- 6 ÷ 2 = 商3、余り0
- 3 ÷ 2 = 商1、余り1
- 1 ÷ 2 = 商0、余り1
余りを逆順に並べると、1101となります。
2進数を10進数に変換する方法
2進数を10進数に変換するには、「各桁に対応する2の冪乗」を用います。
手順
- 2進数の各桁に、それが何の位かを考えます。
- 最右桁を0乗、次を1乗、その次を2乗…とします。
- 各桁の値にその桁の重み(2の冪乗)を掛けます。
- それらを全て足し合わせます。
例:2進数「1101」を10進数に変換
- 右から各桁に対応する2の冪乗を書き出します。
- 1 × 2^3 = 8
- 1 × 2^2 = 4
- 0 × 2^1 = 0
- 1 × 2^0 = 1
- これらを足します。
- 8 + 4 + 0 + 1 = 13
答えは10進数で13です。
8ビットの2進数とそれぞれの桁が表す10進数
8ビットの2進数では、それぞれの桁(ビット)は「2の冪乗」に対応しています。以下に各ビットの位置と、それが10進数で表す値を示します。
8ビットの2進数とそれぞれの桁が表す10進数
ビットの位置 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
2の冪乗 | 2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
10進数値 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
詳細な説明
- 最左のビット(ビット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 = 13binary = bin(num)print(binary) # 出力: '0b1101' -
2進数を10進数に変換する:
int()
関数を使用binary = "1101"decimal = int(binary, 2)print(decimal) # 出力: 13
まとめ
10進数と2進数の変換は、プログラミング的にも重要なスキルです。
基本的なルールを理解することで、手計算やコードを使って簡単に変換が可能です。
ぜひ、練習してみてください!
以上で本記事の解説を終わります。
よいITライフを!