はじめに言っておきますが・・・
今日の内容はちょっと深くて難しいです。@@;
でも、今回の内容を知っておくと、
友達に自慢できる ・・・かもしれませんw
前回の話の中で、
「ByteのBの前にKがつき、さらにM、G・・・と変わる毎に、
その量は2 10 (2の10乗)倍となります。」
と言うのを説明しましたが・・・
「そもそも2の10乗倍って何よ?」
って思いませんでしたか?
本来、 K(キロ) や M(メガ) 、 G(ギガ) 、 T(テラ) ・・・
と言うのは、国際ルールで定められた
数の大きさを表す単位系の接頭辞で、
それぞれ 10 3 、 10 6 、 10 9 、 10 12 を意味します。
例えば・・・
・長さ:
1Km(キロメートル)=1,000(10 3 )メートル
・デジタルカメラの画素数:
1Mpixel(メガピクセル)=1,000,000(10 6 )ピクセル
・電波やCPUクロックの周波数
1GHz(ギガヘルツ)=1,000,000,000(10 9 )ヘルツ
ゼロが3つずつ増えるだけ・・・
そんなに難しくないですよね?^^
それが何故、コンピュータの世界では、
2 10 、 2 20 、 2 30 、 2 40 、になるのでしょうか・・・
この謎を解くには、まず、
「コンピュータの世界の数の数え方」
を知らなければなりません。
私たちの社会では、数字は0から始まって9まで数えると、
次は1つ桁が増えて10になりますよね?
これを 「10進法」 と言います。
そして、10進法で数えられる数のことを 10進数 と言います。
ところが、コンピュータはそもそも機械ですので、
内部では、電気信号のOffとOn・・・すなわち
数字も"0"と"1"しか理解することができないのです。
なので、コンピュータにとっては、
0から始まって1まで数えたら次は桁が増える・・・つまり
「2になる時には桁が増える数え方」
が必要なのです。
これを 「2進法」 と言います。
同様に2進法で数えられる数のことを 2進数 と言います。
10進法では第1桁は1の位、第2桁は10の位、
第3桁は100の位、第4桁は1000の位・・・と、
桁が増える毎に位の値は 10 倍ずつ 増えていきますが、
2進法では第1桁は1の位、第2桁は2の位、
第3桁は4の位、第4桁は8の位・・・と、
桁が増える毎に位の値が 2 倍ずつ 増えていきます。
なので、例えば、10進数の 240 と言う数は、
コンピュータの内部では 11110000 という値として
処理されます。
これは、10進数の11,110,000ではありません。
"0"と"1"の組み合わせからなる8桁の2進数です。
この10進数⇒2進数の変換は、以下のようにします。
(1)変換したい10進数を 2で割って余り を求めます。
2で割っているので、余りは必ず0か1になり、
それが2進数の第1桁目になります。
(2)(1)の割り算の答えから余りを除いた値を
更に2で割り、その余りが第2桁目。
(3)以下同様に前回の割り算の答えの値を更に2で割り、
余りを求めていきます。
(4) 割り算の結果がゼロになるまで 上記を繰り返し、
それぞれの割り算で出た余りの部分を右から順に並べると
2進数変換の完成です。
実際に10進数の 240 を2進数に変換してみます。
今度は逆の変換もやってみましょう。
2進数の 10101 は10進数で表すと 21 となります。
どういう風に考えるかと言うと・・・
まず5桁の2進数なので、一番右の第1桁から順に、
1の位、2の位、4の位、8の位、16の位となります。
次にそれぞれの桁で、1のところの位の値を足し算します。
上の例では1となっている桁は1、3、5桁目ですので、
1+4+16=21となり、2進数⇒10進数の変換は完了です。
まとめると下図のような感じです。
さて、先程の240 (10) ⇒11110000 (2) の例でも解るように、
10進法では数桁で表せる数字でも2進法では
とんでもなく沢山の桁数になってしまいます。
人にとっては解り難いことこの上ないですね^^;
そこで、2進数でも大きな数を表す時には
K 、 M 、 G 、 T の接頭辞を使おうということになりました。
しかし、10進数では10 3 毎に変わる接頭辞を、
2進数ではどうするか?
下の表を見てください。
10進数の10 3 、10 6 、10 9 付近での
2進数の桁上がりを見てみると、2 9 、2 19 、2 29 では、
それぞれ10進数の10 3 、10 6 、10 9 とは倍近い差があるのに対し
2 10 、2 20 、2 30 だと、10 3 、10 6 、10 9 との差は前者よりは
少ないことが解ります。
このような対比関係から、2進数でも
大きい数を凡その数として人が把握しやすいように、
2進数の10桁・・・つまり2 10 毎に
K 、 M 、 G 、 T を使うようになりました。
そして、コンピュータの内部では
数字はすべて2進数で処理されていますので、
ハードディスクやメモリなどの容量表記でも、
この2進法での K 、 M 、 G 、 T を使うようになったのです。
これからは、友達とパソコンショップや電気店に行った時、
256MBや512GBといった数を見かけたら、
「なんでこんな中途半端な数字なのか知ってる?」
と切り出して、
「2の乗数になってるんだよ^^b」
と自慢してくださいね^^
≪むっきーのおススメパソコン≫
【送料無料】DELL XPS 8500 エントリーグラフィック搭載【i7-3770/8GBメモリ/1TB HDD/DVD】
あなた好みのパソコンがきっと見つかる♪
⇒ DELL
「ファイル」と「フォルダ」 2012年05月23日
そもそもパソコンってどんな仕組み? 2012年05月22日
色々な話 2012年05月21日