基数変換
◆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 F ↑ 3116÷16=194 12 C ↑ 194÷16=12 2 2 ↑ 12÷16=0 12 C ↑ 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進数の比較から始めると速いです。
どうもありがとうございました。