文系頭でパソコンを理解しようと試みるの巻

パソコンを使い始めて早5年。
その用途と言えば,原稿をまとめることとサイトめぐりをするくらい。
たぶん,コンピュータそのもののすごさは全くわかっていません。

というわけで,一念発起して,ちょっとばかりコンピュータのお勉強を始めてみることにしました。

選んだ教科書は『常識として知っておきたいプログラムのしくみ』です。
常識ならばきっと私にも理解できるだろうと
少し期待させてくれるタイトルです。

で,今日理解したことを少し。

ビットとかバイトとか言う単位が何となくわかってきました。
この単位は「10MBの容量を持つホームページ」などのように使いますね。
果たしてこのビットとかバイトとは一体何なのか?
わかっているようで全くわかっていませんでした。
(いまだにわかってないかも知れません(^^ゞ)

まず,ビット。
ビットとは最小単位です。何の最小単位なのかと問われると,ちょっと悩みます。情報量の最小単位というところかな。

で,1ビットというのが最も小さな数字で,1ビットで表せる情報は2つしかありません。0か1か。この2通りだけ。2ビットになると0,1,10,11の4通り,3ビットは0,1,10,11,100,101,110,111の8通り,4ビットは0,1,10,11,100,101,110,111,1000,1001,1010,1011,1100,1101,1110,1111の16通り。
ゼーゼー

知ってる人が見れば,何でもない記述ですが,知らない人が見れば,何のことやらさっぱりわからない記述ですね。はい,何のことやらさっぱり分からない人のために説明を試みます。

パソコンって,10進数の世界ではなく2進数の世界なのです。
0と1だけで何でもかんでも表してしまおうってのが2進数の世界。
10進数ならば,0,1,2,3,4,5,6,7,8,9まで行ってやっと10に繰り上がりますが,2進数の世界では,0,1でもう10に繰り上がってしまいます。2以降の数字がないから。
10進数と2進数を対照させてみると,次のようになります。

10進数    2進数

  0        0
  1        1
  2       10 
  3       11
  4      100 
  5      101
  6      110
  7      111
  8     1000 
  9     1001
 10     1010
 11     1011

ややこしいですよね〜。私の脳味噌は泡立ってます(^^ゞ

で,先ほどのビットの話に戻りますが,
1ビットで表せる情報量というのはつまりは2進数の一桁の数字分てこと。つまり,0と1。だから,2通り。
2ビットは2進数の二桁分だから4通りあり,3ビットは三桁分だから8通りあり,4ビットは四桁分だから16通りあるという風に考えていきます。

さて,次はバイトという単位です。
10進数に慣れ親しんだ私の頭では,1バイトはきっと10ビットとか1000ビットに違いないと思ってしまうのですが,困ったことにそれが違うのです。

一般的に8ビットが1バイトとされているのです。8ビットというと2の8乗分の情報量,つまりは10進法なら0から255までの256種類,2進法なら0から11111111(←8桁ですね)までの256種類を扱えます。

だから英数字などは1バイト文字と呼ばれているわけです。アルファベット26文字の大文字小文字,0〜9までの数字,?や!などの記号などを合わせても256に収まるからです。

しかし,日本語の場合は漢字を含めるととてもではないけれど256では収まりません。2バイトは必要になるようです。2バイトは,つまりは16ビットで,2の16乗,65536種類の情報を扱えます。

ちなみにバイトの上の単位はキロバイト。KBで表されますね。
キロバイトは1000バイトと思いきや,実は1024バイトだったりします(^^ゞ
1024って,2進法の世界では切りの良い番号なのです。2の10乗ですから。で,さらにその上のメガバイト(MB)もまた同じような感じで,1メガバイトは1024キロバイトになります。だから,1メガバイトは1048576バイトで,10メガバイトのホームページなら,2バイトの漢字を5242880文字書けることになりますね。400字詰めの原稿用紙なら131072枚も書けます(笑)

というわけで,今日のお勉強はおしまい♪


実はまだよくわかってない(-。-) ボソッ