基数変換:ある基数で表した数値を、別の基数表現に置き換える事
n進数から10進数への基数変換
重みを使って変換する
1101.011の場合
2進数 | 1 | 1 | 0 | 1 | . | 0 | 1 | 1 |
各桁の重み | 8 | 4 | 2 | 1 | 1/2 | 1/4 | 1/8 | |
掛けた後 | 8 | 4 | 0 | 1 | 0 | 0.25 | 0.125 |
8+4+0+1+0+0.25+0.125=13.375
10進数からn進数への基数変換
2つの方法がある
- 基数変換
- 割り算と掛け算を使う
基数変換
各桁の重み | 8 | 4 | 2 | 1 | 0 | 1/2 (0.5) |
1/4 (0.25) |
1/8 (0.125) |
2進数 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | |
余り | 5.375 | 1.375 | 1.375 | 0.375 | 0.375 | 0.125 |
数値を重みで割る。その余りを1つ下の重みで割る…を繰り返す。
割り算と掛け算を使う
基数を使って、整数部は割り算、小数部は掛け算を行うやり方
- 商が0になるまで基数で割る
- 小数部が0になるまで掛け算を繰り返す
13.375の場合
整数部
- 13÷2=6 … 1
- 6÷2=3…0
- 3÷2=1…1
- 1÷2=0…1
この余りを下から上に → 1101
小数部
- 2×0.375=0.75 → 整数部 0
- 2×0.75=1.5 → 整数部 1
- 2×0.5=1.0 → 整数部 1 … 小数部が0になったので終了
整数部を上から下に→ 011