~基本変換の考え方~
基本情報技術の知識について学習を行っており、その中でn進数の扱いが難しかったので備忘録として記録しておく。
■n進数→10進数への基本変換
例)2進数1101.011を10進数へ置き換える場合
n進数から10進数へ変換する際には表に書き出してみるとわかりやすい
2進数の部分と各桁の重みを掛け算する
2進数 | 1 | 1 | 0 | 1 | . | 0 | 1 | 1 |
---|---|---|---|---|---|---|---|---|
各桁の重み(n^~) | 2^3 | 2^2 | 2^1 | 2^0 | 2^-1 | 2^-2 | 2^-3 | |
↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ||
10進数 | 8 | 4 | 0 | 1 | 0 | 1/2 | 1/4 |
最後に10進数の部分を計算すると
8+4+0+1+0+1/2+1/4=13.375
A.13.375
8進数、16進数の場合は各桁の重みのnをそれぞれ8または16に置き換えることで対応できる。
■10進数→n進数への基本変換
例)10進数13.375を2進数へ置き換える場合
まず13.375を各桁の重みを使って割り算を行う
今回の場合2^4(16)で割り切れないのでそれより後2^3(8)から始める
13.375 ÷ 2^3(8) = 1 … 余り5.375
↓
5.375 ÷ 2^2(4) = 1 … 余り1.375
↓
1.375 ÷ 2^1(2) = 0 … 余り1.375
↓
・・・
↓
0.125 ÷ 2^-3(1/8) = 1 … 余り0
このようにあまりが0になるまで続け、最後に出た除
表に書き出してみるとこのようになる
各桁の重み(n^~) | 2^3 | 2^2 | 2^1 | 2^0 | 2^-1 | 2^-2 | 2^-3 | |
---|---|---|---|---|---|---|---|---|
↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ||
2進数 | 1 | 1 | 0 | 1 | . | 0 | 1 | 1 |
結果A.1101.011
となる。
■ちなみにもっと簡単に基本変換の計算ができる方法がある
とりあえずここまでで一区切りとするがこれはあくまで概念的な考え方なのでもっと簡単な計算方法がある。
それはまた次回にメモしておくこととする