back

基数変換


N進数→10進数に
  各桁の重みを掛けて足す

  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
<レベル1>
2進数1111を10進数に変換
(*2^3は2の3乗を意味する)

2進数  1  1  1  1
重み  2^3 2^2 2^1 2^0

   1×2^3+1×2^2+1×2^1+1×2^0
 = 1×8+1×4+1×2+1×1
 = 8+4+2+1=15

 1111(2)は15(10)となる。
 (*(2)は2進数、(10)は16進数を意味する)

<レベル2>
16進数C2CFを10進数に変換

16進数    C    2     C    F
10進数   12     2    12     15
 重み   16^3  16^2  16^1   16^0

     12×16^3+2×16^2+12×16^1+15×16^0
   =12×4096+2×256+12×16+15×1
   =49152+512+192+15=49871

 C2CF(16)は49871(10)となる。

10進数→N進数に
  10進数をN進数で割った余りを下から並べる

   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
<レベル1> 10進数 49871を2進数に変換          

  余り  
49,871÷2=24,935 1
24,935÷2=12,467 1
12,467÷2=6,233 1
6,233÷2=3,116 1
3,116÷2=1,558 0
1,558÷2=779 0
779÷2=389 1
389÷2=194 1
194÷2=97 0
97÷2=48 1
48÷2=24 0
24÷2=12 0
12÷2=6 0
6÷2=3 0
3÷2=1 1
1÷2=0 1
     

 49871(10)は1100001011001111(2)となる。------(1)

<レベル2>  10進数 49871を16進数に変換   

  余り 16進数  
49871÷16=3116 15
3116÷16=194 12
194÷16=12 2 2
12÷16=0 12

  49871(10)はC2CF(16)となる。------(2)
 
 16進数を2進数に変換
(*16進数1桁は2進数4桁になる)

 C(16)=1100(2)
 2(16)=0010(2)
 C(16)=1100(2)
 F(16)=1111(2)

C2CF(16)は1100|0010|1100|1111(2)となる。
  (2)から(1)に変換しています。
 10進数を2進数に変換する時、16進数に変換してから2進数に変換
 したほうが計算は楽になる時もあります。


★★★解説:二種向け★(2000/5/8)

  すべて同じ値を表わしている 2 進数,8 進数,10 進数,16 進数の組合せは
どれか。

  2 進数 8 進数 10 進数 16 進数
111 10 8 8
1010 12 10 A
1100100 256 100 64
11111111 377 256 FF




■解答■(宿題メール)
  二種午前平成12年春問3

> 全部10進数で表示してみると、
>

  2 進数 8 進数 10 進数 16 進数
111→ 7(10) 10→ 8(10) 8 8 →8(10)
1010→10(10) 12→10(10) 10 A→ 10(10)
1100100→ 100(10) 256→110(10) 100 6464→100(10)
11111111→255(10) 377→ 255(10) 256 FF→255(10)

> けた数の少ない10進数と16進数の比較から始めると速いです。

 どうもありがとうございました。