━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
■第8回 基数変換
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
前回のお話で、コンピュータは 2進数でデータを表現しているとお話しまし
た。
ところが、我々が扱うときは、0と1だけでは分かりにくい上にデータ量が増
えてしまうため、8進数や16進数の形で利用することも多いです。
そこで、今回は10進数から、2進数、8進数、16進数に変換してみます。
このような変換を、「基数変換」と呼びますので、覚えておきましょう。
●基数変換(10進数→2進数)
10進数を2進数に変換するには、0になるまで、2で割っていきます。
そのときの余りを抜き出しておきます。
あとは、その余りを逆順に並べるだけです。
ちょっとやってみましょう。
例として、54を変換してみます。
54 | … 0 (54÷2の答えは27、余りは0)
---|
27 | … 1 (27÷2の答えは13、余りは1)
---|
13 | … 1 (13÷2の答えは6、余りは1)
---|
6 | … 0 (6÷2の答えは3、余りは0)
---|
3 | … 1 (3÷2の答えは1、余りは1)
---|
1 | … 1 (1÷2の答えは0、余りは1)
余りを下の方から並べると、110110 になります。
これが、54を2進数に変換したものです。
●基数変換(10進数→8進数)
8進数も良く使われるのですが、2進数と同じように求めることができます。
先ほどと同じように、54を変換してみます。
54 | … 6 (54÷8の答えは6、余りは6)
---|
6 | … 6 (6÷8の答えは0、余りは6)
余りを下の方から並べると、66 になります。
また、別の方法として、2進数を3桁ずつまとめる方法もあります。
8は2の3乗であることを利用しています。
54なら、110110なので、下から3桁ずつ区切ると、
110 110 に分かれます。
それぞれを再び10進数に戻します。
110は8進数で6なので、66 になりますね。
●基数変換(10進数→16進数)
16進数も全く同じ方法で変換できますが、16で割っていくのは大変なので、
2進数に変換し、4桁ずつ区切っていった方が早いです。
54の場合、110110なので、11 と 0110に分かれますね。
2進数で6桁なので、しっくり来ない方は、00を前に補ってあげると分かりや
すいと思います。
0011 0110 に分かれた2進数を10進数に戻します。
10以上は、A~Fで表現します。
すると、36になります。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━