Linux豆知識 124

bitとbyte

公開日:2013年03月22日

今回は、「bitとbyte」について。

コンピュータを扱っていると、記憶媒体の容量などを表す時に、1bit(ビット)だとか1byte(バイト)などの言葉が使われているのはよく耳にすることでしょう。これらは一体、何を表すのでしょうか。

まず、「bit」から。そもそもコンピュータ内部では、あらゆるデータを「0」と「1」だけで表現します。いわゆる「2進法」ですね。10進法の「1」はそのまま「1」ですが、10進法で「2」は2進法で「10」、「3」は2進法で「11」、「4」は2進法で「100」となります。

この、2進法で表したとき、何桁のデータまで扱えるか?を表したのが「bit」です。このときの桁数は2進法ですので、2bitであれば10進法の「0,1,2,3」を、3bitであれば「0,1,2,3,4,5,6,7」を表すことができる、ということになります。ただし、これはあくまで自然数を扱う場合の話です。
小数や負の数を扱うこともできますが、その場合も2bitでは「4通り」の数を扱えることになります。

そして「byte」。これは、bitがわかれば簡単で「1byte=8bit」となります。すなわち、1byteならば2の8乗、「256通り」のデータを扱えるということになります。よく「1byte文字」と言われますが、これは英数字や記号、半角カタカナなど、256通りの文字を扱うことができるというわけです。なお、漢字などが含まれると256通りでは足りないので「2byte文字」(=2の16乗、65536通り)を扱うことになります。

なお、「1KB(キロバイト)」は1024byte、「1MB(メガバイト)」は1024KB(=1024×1024byte)、「1GB(ギガバイト)」は1024MB、「1TB(テラバイト)」は1024GBを意味します。コンピュータの世界以外の科学分野では、k(キロ)は1000(10の3乗)、M(メガ)は1000000(10の6乗)、G(ギガ)は1000000000(10の9乗)、T(テラ)は1000000000000(10の12乗)を表すことが多いのですが、それとはズレがありますので注意してください(コンピュータの世界でも、これらの扱いと、k=1024・・・と扱う場合が混在していて、ややこしいので注意が必要です)。

知っているようで意外と知らない、これらの量。プログラミングを行う時などにはきちんと理解しておく必要が生じますので、しっかり理解しておきましょう。


ページトップへ