Bitって何さ?


これは特定の誰かに向けて書いたわけではないように見えて、誰かに向けて書いたような気もしなくはない。そんな話。
Bit(ビット)とは何か?

Bitとは「かけら」とかその辺りの意味なんだとか。コンピュータでのBitはデータの最小単位、つまり0か1か。厳密に書くと、OnかOffか。
8Bitsとか16Bitsとは何か?
例えば8Bitsは10000100と言う8桁の0と1だけのデータ。16Bitsはその倍の長さで1001 0101 0010 1111と言う感じ。見にくいから、4ごとにスペースを入れてみた。
それでも見にくいから、2進数以外に8進数、16進数で書いてみる。

8Bits
2進数 10000100
8進数 204 (10 000 100)
16進数 84 (1000 0100)
10進数 132 (128+4)
16Bits
2進数 1001 0101 0010 1111
8進数 112457
16進数 952F
10進数 38191

16進数にするとだいぶすっきりする。ここで言うFとはつまり、16の手前、つまり、15。16進数では最初の0~9までは数字でそれ以降はA(10) B(11) C(12) D(13) E(14 F(15)と言う感じでアルファベット表記になる。
とまぁ、コンピュータ内部では訳のわからない表現が使われている、と。ここまでは数字の見方なので、それ以上でもそれ以下でもなく、へぇ~、そう言うモンかという程度で良いと思う。

現代のPCは多くが32Bitsで64Bits対応もかなり増えてきた。つまり、32桁の0と1や64桁の0と1を一気に処理できると言うことだったりする。これがどうしてすごいのかというと、8Bitsの場合、255までしか数字を扱えないわけだけど、それ以上を扱うためには255までをAというデータ領域で管理する。255以上になったらBというデータ領域に1を足したりしなくてはいけない。
仮に、16Bitsだったら255+1は1回の処理で出来るけど、8Bitsのコンピュータ(厳密には回路?)では255+1をする場合、0になってしまう。でも、桁があふれた場合に判別する回路があるので、桁あふれがあった時点でBに1を加える処理をする。このため、少なくとも2処理必要になる。

このように、Bit数が上がると得なことがある。ただ、1+1をするのに64Bitsを使うとかなり多くのデータが無駄に使われる、と。つまり、PCは64Bitsになろうとしているのに、家電製品のチップがいまだに8Bitsなのは巨大なデータを使わないから、と。
当然Bit数が上がれば上がるほど、チップ開発のレベルが上がる。つまり、値段が高くなるわけ。8Bitsチップはゴミのような値段で売ってるけど、最新PC用プロセッサは高いものになると10万円を超える。
今回はこんな感じ。今後、コンピュータの仕組みを知る上で必要最低限のことを書いてみたいかなぁ、と思っています。

Post to Twitter

,

  1. No comments yet.
(will not be published)