ビット(bit)は0か1を表すデータの最小単位、バイト(byte)は8ビットをひとまとまりにした単位です。つまり、1 byte = 8 bitsです。

ファイル容量の「MB」と回線速度の「Mbps」は、見た目が似ていますが同じ単位ではありません。大文字Bはバイト、小文字bはビットです。
ビットは0か1、バイトは8ビット
NISTではbitを0または1の二進数字、byteを8bitの並びと定義しています。1ビットだけなら表せる状態は2通りですが、8ビットなら00000000から11111111まで256通りを表せます。
コンピュータは、この0と1の並びに「数値」「文字」「色」「音」などの意味を対応づけて処理します。ビットやバイト自体に日本語や画像という意味が入っているのではなく、どの規則で読むかによって意味が決まります。

memo.txtの文字数とバイト数は同じとは限らない
memo.txtへ半角英字のAを保存する例を考えます。UTF-8ではAは1バイトです。一方、日本語のあはUTF-8で3バイト使います。見た目はどちらも1文字ですが、保存に使うバイト数は違います。
これは文字コードが、文字をどのバイト列へ対応づけるか決めるためです。UTF-8ではコードポイントに応じて1〜4バイトを使います。したがって「100文字だから100バイト」とは限りません。詳しくは文字コードとはで確認できます。
小文字bと大文字Bを見分ける
| 表記 | 読み方 | 主な用途 |
|---|---|---|
| bit / b | ビット | 通信速度、CPUや通信のビット幅 |
| byte / B | バイト | ファイル容量、メモリ容量、転送量 |
| Mbps | メガビット毎秒 | 回線が1秒に運べるビット数 |
| MB/s | メガバイト毎秒 | 1秒に転送できるバイト数 |
| MB / GB | メガバイト/ギガバイト | ファイルやストレージの容量 |
大文字・小文字は単なる表記ゆれではありません。100 Mbと100 MBでは8倍違います。単位を読むときは、数字だけでなく最後の文字まで確認します。
100Mbpsは何MB/sになるのか
100Mbpsの回線は、理論上1秒に100メガビットを運ぶ速度です。1バイトは8ビットなので、バイト毎秒へ直すには8で割ります。
100 Mbps ÷ 8 = 12.5 MB/s
800 Mbps ÷ 8 = 100 MB/s
したがって、100Mbps回線で100MBのファイルを送る最短時間は、単純計算では8秒です。ただし実際の通信にはヘッダー、再送、暗号化、機器やサーバーの待ち時間などがあるため、常に理論値どおりにはなりません。
k・M・Gは大きさを表す接頭語
kilo、mega、gigaは単位を大きくまとめるための接頭語です。SIの定義では、kは10の3乗、Mは10の6乗、Gは10の9乗を表します。
| 表記 | 10進の値 | 例 |
|---|---|---|
| 1 kB | 1,000 B | 小さなテキストファイル |
| 1 MB | 1,000,000 B | 画像や文書の容量 |
| 1 GB | 1,000,000,000 B | 動画やストレージ容量 |
MBとMiBは同じではない
2進数の区切りを明確に表す単位として、KiB(1,024バイト)、MiB(1,048,576バイト)、GiB(1,073,741,824バイト)があります。製品やOSによって表示方法が異なるため、同じストレージでも公称容量と画面表示が少し違うことがあります。
通信速度を理解したら、ネットワークとはへ進むと、データが機器間を移動する全体像が見えます。保存場所の種類はNAS・SAN・DASの違いにつながります。
まとめ:ビットとバイトの違い
ビットとバイトの違いは、まず「0か1の1桁」と「8桁のまとまり」です。容量と通信速度を読むときは、bかBかを確認し、bit/sからbyte/sへ直すなら8で割りましょう。
