基本情報技術者試験 - n進数(基数変換part1)

基数変換について。

■2進数の1101.011を10進数にするといくつになるか。

各桁に重みをかける。


1 × 8 → 8
1 × 4 → 4
0 × 2 → 0
1 × 1 → 1
.
0 × 1/2 → 0
1 × 1/4 → 0.25
1 × 1/8 → 0.125

これらを全部足す

8+4+2+1+0+0.25+0.125
→13.375


■逆に10進数を2進数にするには。

①桁の重みで除算していく。

8 ÷ 13.375 → 1
4 ÷ 5.375 → 1
2 ÷ 1.375 → 0
1 ÷ 1.375 → 1
.
1/2 ÷ 0.375 → 0
1/4 ÷ 0.375 → 1
1/8 ÷ 0.125 → 1

つまり、1101.011


②整数部は割り算、小数部は掛け算

13.375を2進数にする。

整数部
13÷2 余り1
6÷2 0
3÷2 1
1÷2 1

小数部(小数部をかけ続ける)
2×0.375 = 0.75
2×0.75 = 1.5
2×0.5 = 1.0 小数部が0になるまで続ける。

整数部は余りを下から並べて、
小数部は結果の整数部を順に並べる。
→1101.011