ロギング

ビットとバイト

Pocket

こんにちは、ケースケです。

最近では、日常でもよく見聞きするビットとバイト。この2つの違いや成り立ちを知ったことで、プログラミング学習の中での何かがかなりスッキリした感覚を得られたので残しておきます。

2進数と10進数

ビットとバイトの話の前に、2進数と10進数のお話から。

2進数とは、二進記数法で記された数という意味。つまり、「0」と「1」の2種類の数字を用いて数を表します。

英語では、バイナリ(binary)と言います。

10進数とは、数を表す方法(記数法)の一つで、0〜9までの数字を用いて数を表します。現在、世の中の数字は大体が10進数を用いています。

ビット(bit)

コンピュータの世界では、全てのデータを2進数で表しています。

2進数の1桁では、0か1なので2通りになります。このコンピュータのデータ最小単位を1ビットと言います。

ビット(bit)は、2進数を意味する”binary”と桁を意味する"digit"を組み合わせた言葉です。

なので、2は10、3は11と表します。また、表す数字に応じて桁は上がっていくので、3桁なら3ビット、4桁なら4ビットとなります。

バイト(byte)

コンピュータの世界では、1ビットを8つ並べた8ビットを1バイトとしています。メガバイトやギガバイトのバイトです。

この1バイト(=8bit)は基本単位として用いられています。

8ビットは2の8乗で0〜255までの256通り表せます。

ちなみに、バイト(byte)は一口を意味する英語の"bite"と同じ意味真野ですが、"bit"と混同しないように"byte"というスペルにした造語らしいです。

関連事項

文字コード

コンピュータは文字やアルファベット、記号も2進数で表します。そして、2進数の数字と文字やアルファベット、記号を対応させたものを文字コードと言います。

アメリカ規格のASCIIは8bit(1バイト)、Shift_JIS(:日本語を含む文字列を表現するために用いられる文字コードの一つ)は16bit(2バイト)で作られています。

8bitは上述の通り、2の8乗で256通り、16bitは2の16乗で65536通り表せます。

アルファベットを用いる英語圏ではASCIIでも対応できるのですが、世界の様々な言語に対応する場合256通りでは到底対応できません。

現在の主流はUnicodeという国際規格で、文字に統一番号を当て、各国・各社の統合を計っている。UTF-8は4バイト。

文字化けとは、ASCII、Shift_JIS、UTF-8などの異なる文字コードで文字を表示して起こる現象。

まとめ

ビットとバイトの違いや意味を理解することで、コンピュータの世界が少しだけ理解できるようになったと思います。ちなみに、僕は少し理解が進みました。

わかるようになれば楽しくなる!ということで、これからも少しずつコンピュータのこと、プログラミングのこと理解していきます。

今回は以上です。それでは、また。

-ロギング