2進数各桁の重みを使うと便利かも
10進数5.625を2進数に変換してみる
まず、「5」を2進数に変換。これは2進各桁の重みを使う
5=2^2+2^0
つまり、2の2乗+1で5になることから
各桁の重みを考慮すると、2^2、2^1、2^0にそれぞれ2進数を当てはめる
(2進数は0と1で構成されている)
すると
2^2=1
2^1=0
2^0=1
となり、10進数の5は2進数では、101となる。
もう一つの解放は5を2で割っていく。こちらでもできないことはないが、
重みを理解して使える方が融通が聞きそう。
- 5 ÷ 2 = 2 余り 1
- 2 ÷ 2 = 1 余り 0
- 1 ÷ 2 = 0 余り 1
少数点部分はどうするのか
- 0.625 × 2 = 1.25 → 整数部分は 1
- 少数部分の0.25だけを抜き取って掛け算する
- 0.25 × 2 = 0.5 → 整数部分は 0
- また同じく少数部分の0.5を抜き取って掛け算する
- 0.5 × 2 = 1.0 → 整数部分は 1
- 上記2つと同じ
すると101
5.625は101.101となる
理解するに2時間くらいかかった
ちなみに、テキストはこちらを使ってます。