データの単位について詳しく知りたい
「bitとbyte」そして「KB(キロバイト)・MB(メガバイト)」の違いは?

今回はプログラミングに欠かせない基礎知識としてコンピュータのデータ単位について解説します!
ゲームやWindowsのOSで32bitとか64bitというデータ単位があります。
今回の記事ではこのbit(ビット)ついての深堀り。また、その上のデータ単位byte(バイト)の知識を一緒に深めていきたいと思います。
- 「bit(ビット)」データの最小単位。0と1の2進数で表される。略してb
- 「byte(バイト)」 最小単位bitを8つにまとめたデータ単位。「1byte=8bit」 略してB
bitとbyteについての基礎知識を、図解入りでわかりやすく深堀りします。
それでは、さっそく始めていきましょう。
bit(ビット)の基礎知識
bitはコンピュータで扱うデータの最小単位です。
1と0で表すデータで「画像・文字・音声」「動画」「ソフトウェア」など、パソコン上の全てのデータは元を辿ると1と0だけの数字になります。
コンピュータは「1のtrue (真/ON)」 と「0のfalse (偽/OFF)」 という2進法で計算しているのですが、この1から0と返す1つの動作を1bitと表します。
わかりやすく1がON、2がOFFと言いましたが、もう少し砕いて解説すると電圧の高低でHighレベル(高)で1、Lowレベル(低)だと0を返しています。それが1ビットの流れの仕組みです。


つまり1bitは1か0のどちらかの数値になるというわけです。
これが2bit (1~2列) 、3bit (1~3列) 、4bit (1~4列)……
とデータ単位が増えていくことで、組み合わせの幅が広がります。
1bitなら「1、0」の2通りだけですが、2bitなら「10、01、00、11」の4通り。
3bitなら「100、101、110、111、000、001、010、011」になり、4bit5bitあたりからパターンが膨大になるという仕組みです。
では、このbit数によるパターンをどのように求めるかというと累乗で計算します。
累乗とは
同じ数字を繰り返し掛け算すること「例 」
4bitの場合は2の4乗で16通りです。「2x2x2x2=16」
そのことから、4bitだと16通りの表現が可能になるということになります。
どれほどのパターンができるのか一覧にしてみましょう。
1bit | 2通り | 2の1乗 |
2bit | 4通り | 2の2乗 |
3bit | 8通り | 2の3乗 |
4bit | 16通り | 2の4乗 |
8bit | 256通り | 2の8乗 |
16bit | 65536通り | 2の16乗 |
24bit | 16777216通り | 2の24乗 |
32bit | 4294967295通り | 2の32乗 |
64bit | 18446744073709551615通り | 2の64乗 |
ちなみに歴代の家庭用ゲーム機のbit数は以下の数値です。
- 「ファミコン」8bit
- 「スーパーファミコン」16bit
- 「プレステ2」124bit
- 「プレステ3」64bit
- 「プレステ4」64bit
プレステ3からbit数が上がっていません。これに関しては、16bit以上は数えきれない位のパターン処理が可能なので、多ければそれで良いという訳でもないとのこと。
bit数のデータ容量はあくまでもインフラ(例えるなら道路) なので、ある程度まで大きくなったインフラ環境ではbit数よりその道を通るデータ (車) の量・質・種類の方が重要になってくるわけです。
英語でbitというのはごくわずか・ほんの少しというような意味合いがあります。
binary digit (2進数) を略したのがbitの由来だと言われます。
この2進数についてや10進数・16進数への変換方法まで解説する関連記事があります。
プログラミング初心者にとって必見の情報なので、興味がある方はそちらもあわせてご覧ください。
関連記事
byte(バイト)の基礎知識
続いては、データ単位byte(バイト)についての説明です。
こちらはbitの1つ上の単位で256通りもの表現をすることが可能です。
そうです、byteとは8bitのことを指します。
「1byte=8bit」
計算式 2×2×2=8bit「1byte」
8つのbitを集めて1byteというデータ単位になります。
1bitという単位はデータとして扱うのには小さすぎるので、それを8つにまとめて1byteとしているわけです。
基本パソコンで扱われているデータは、byteかそれ以上の単位「KB(キロバイト)」や「MB(メガバイト)」になります。



bitを8つ集めたbyteでも、データとしてはまだまだ小さいというわけだね!
ちなみに「bit=b」。「byte=B」と略されることもあります。
「なぜ8bit?」 1バイト言語・2バイト言語
そこでなぜ「1byte = 8bit」 なのかと疑問が出てきますよね。
コンピュータの発祥は米国なので、当然ですが基準は日本語ではなくアルファベットになります。
半角英数の1文字を表現する時に必要なデータ量が8bit「1byte」になるわけです。
試しにパソコンでメモ帳を開いて、半角英数の「a」とだけ書き保存します。そのメモ帳のプロパティを見るとサイズの所に「1バイト」と表示されているはずです。


この8bit方式は1960年代にIBM社が発売したパソコンが始まりと言われていますが、それが引き継がれて今に至るといいます。



昔は今のようにお決まりの8bitではなくて5bitや7bitも使われていたのだとか
また、例外があるようですが日本語の全角文字、1文字あたりのデータ量は2byteです。
先ほど1文字のアルファベットで保存したメモ帳のように「あ」と1文字だけ入力しプロパティを見ると「2バイト」と表示されているのがわかります。
このように1byteで表現する自然言語を「1バイト言語」。2byteで表現する自然言語を「2バイト言語」と言います。
1バイト言語 / シングルバイト文化圏
英語、フランス語、ドイツ語
2バイト言語 / ダブルバイト文化圏
日本語、中国語、韓国語
bit・byteより大きなデータ単位「KB・MB・GB・TB」
続いて、byteよりも大きな単位も見ていきましょう。
「KB(キロバイト)、MB(キロバイト)、GB(ギガバイト)、TB(テラバイト)」です。
データ単位が1024倍で繰り上がる理由
まずは全てのデータ単位を一覧で見てみましょう。
データ単位一覧
- 1bit(b) 最小単位データ
- 1byte(B) 8bit
- 1KB 1024byte(B)
- 1MB 1024KB
- 1GB 1024MB
- 1TB 1024GB
これらのデータ単位は1024倍で次の単位に繰り上がります。なぜ1024という数値になるのかというと、コンピュータのデータは2進数でできているので2の10乗で1024倍になるわけです。
また、10進数の計算では1000倍「1000KB」になります。
2進数でこの1000KBに近づけるために1024KBになったという経緯があります。
KB(キロバイト)やKiB(キビバイト)2つのデータ単位の違い
ここで1つ、豆知識的な情報です。KBやMBには2つの種類があります。
正しくは、2進数で1024倍で繰り上がる数値はKBやMBではなくKiBやMiBなのです。
逆に10進数の1000倍で繰り上がる数値はKBやMBになります。
1KB(キロバイト) | 1000B1KiB(キビバイト) | 1024B
1MB(メガバイト) | 1000KB1MiB(メビバイト) | 1024KiB
1GB(ギガバイト) | 1000MB1GiB(ギビバイト) | 1024MiB
1TB(テラバイト) | 1000GB1TiB(テビバイト) | 1024GiB
ところが、KiBやMiBという単位があまり普及しなかっため、KBやKBという現在使われている単位が普及したちう経緯があります。



正しくはKB・MBではなく、KiBやMiBという表記になるんだワン!
GB、TB以上の単位は現状で現実的に使う機会はないと思います。
まとめ
まとめです。
今回はプログラミングに欠かせない基礎知識のデータ単位「bit(ビット)」と「byte(バイト)」についてわかりやすく解説しました。プログラミングにはbit単位で操作するビット演算子なるものがあります。
内容をまとめると以下のようになります。
- 「bit(ビット)」… コンピュータで扱う最小単位。0(OFF)と1(ON)で表される
- 「byte(バイト)」… bitを8つにまとめたもの。【8bit=1byte】
「プログラミング初心者」に関連する記事が他にもあります。少しでも興味があるという方は、要チェックです。今すぐそちらの記事もご覧ください。
今回の記事は以上です。最後までありがとうございました。
関連記事