ITサポート

セミナー

会員特典

その他

過去のコラム等

Twitter

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■第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になります。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━