基数変換

基数変換:ある基数で表した数値を、別の基数表現に置き換える事

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

 

タイトルとURLをコピーしました