- コンピュータ概論-その1 基数変換編
- はじめに この記事は、これからコンピュータ概論について勉強しようかと考えられている方向けに作成しました。
基数て何ぞや?
数値を表現する際に、各けたの重み付けの基礎として用いる数を「基数」と呼びます。
なんて本とかに書いてありますが、要は桁が上がる数のことですね。
人が使う基数は数字が10で桁が上がるので、10進数と呼んでいます。
※n進数とは、予め定められたn種類の記号を使って数を表す方法です。
n進数について
n進数を表にしてみると以下のようになります。(赤字:桁上がりが起きている数字)
普段10進数を使っている我々にとって○○進数なんて使い辛いからコンピュータも10進数を使えばいいじゃない・・・
コンピュータって何で2進数でデータを扱うの?
コンピュータは「自動計算機」です。
10進数を使うとかけ算(九九)だけでも100種類のパターンを覚えなくてはならず、計算が複雑になり、自動計算させるためのプログラムが複雑になります。
2進数だと、かけ算で4種類のパターンを覚えておけば良くて、ハードウエアも「0と1」を「ON/OFF」で表すことができるため2進数を使います。
[豆知識]
世界初のコンピュータ「ENIAC」は10進数を採用したことにより、真空管を18,000本も使いました。
後に2進数を採用した「EDSAC」は真空管が3,000本で済んだそうです。
2進数で書くのが面倒くさい
2進数の表記って、1と0が大量に並んで見づらいですよね。
以下の表を見ると2進数の表記は凄いことになってます・・・
何とスッキリ16進数
2進数を4桁毎に区切ってみると・・・
16進数で簡単に読み取れますね!
2進数を16進数に変換する→これが基数変換です。
他の進数はどうすれば良いの?パート1
区切る桁を変えると簡単にできるものは・・・
[豆知識]
数値の表現方法はいろいろありますが、103102(4) 、 2322(8)の表記が一般的です。
良く使われる2進数は10b など末尾に“b”を16進数は0xFFなど“0x”を10進数には何も付けないのが一般的です。
注)上記32進数の16I(いちろくあい)は0,1,2,…ABCDEFGHI と記号で表した時のI = 18(10)です。
他の進数はどうすれば良いの?パート2
区切る桁で表現できないものは(できるものも含めて)・・・
10進数に変換して基数で割っていけばOK!
例)1,234を13進数で表現する
商が無くなったら、下から余りを並べて73C(13)
○○進数を10進数にするには?
先ほどの割った商と余りで10進数からn進数に変換できたけど、n進数から10進数にするには・・・
さっき割ったんだから、掛ければOK
7×169+3×13+12=1,234
これで基数変換はマスターできたことになります。(多分)