Bit(ビット)とByte(バイト)は、コンピューターの世界で使われる情報量の単位です。
ここでは、Bit(ビット)とは何か、Byte(バイト)とは何かを簡単に解説します。
Bit(ビット)とは?
Bitとはコンピューターで扱う情報の最小単位です。
1Bitは2進数の一桁分に相当し、1Bitで0か1のどちらかを扱う事ができます。
1Bitだと0か1しか扱えませんが、2Bitだと0,1,2,3を、3Bitだと0,1,2,3,4,5,6,7をと、Bitが増えれば扱える数も大きくなります。
Bit数によって扱うことの出来る数は、以下のようになります。
Bit数 | 表現できる数 | 表現できる数値の範囲 | |
---|---|---|---|
プラスのみ (符号なし:unsigned) | マイナス~プラス (符号あり:signed) | ||
1 Bit | 2 | 0 ~ 1 | -(1Bitではマイナス表現不可) |
2 Bit | 4 | 0 ~ 3 | -2 ~ 1 |
3 Bit | 8 | 0 ~ 7 | -4 ~ 3 |
4 Bit | 16 | 0 ~ 15 | -8 ~ 7 |
5 Bit | 32 | 0 ~ 31 | -16 ~ 15 |
6 Bit | 64 | 0 ~ 63 | -32 ~ 31 |
7 Bit | 128 | 0 ~ 127 | -64 ~ 63 |
8 Bit | 256 | 0 ~ 255 | -128 ~ 127 |
9 Bit | 512 | 0 ~ 511 | -256 ~ 255 |
10 Bit | 1024 | 0 ~ 1,023 | -512 ~ 511 |
… | … | … | |
16 Bit | 65,536 | 0 ~ 65,535 | 32,768 ~ 32,767 |
32 Bit | 4,294,967,296 | 0 ~ 4,294,967,295 | -2,147,483,648 ~ 2,147,483,647 |
64 Bit | 18,446,744,073,709,551,616 | 0 ~ 18,446,744,073,709,551,615 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
1Bit増える毎に扱える数が2倍に増えるという規則性があります。
Bitが増えるごとに扱える数が倍々になっていき、64Bitまでいくと1844京6744兆0737億0955万1616もの数を扱うことが出来ます。
Byte(バイト)とは?
Byteとは情報量を表す単位で、8Bit=1Byteです。
更にByteは1000倍(または1024倍)毎に単位が変わります。
バイト(Byte)、キロバイト(KB)、メガバイト(MB)、ギガバイト(GB)という具合です。
スマホの通信量なんかで聞く「ギガ」は、ギガバイトの事ですね。
ややこしいのは、コンピューター関係では単位が変わるのが1000倍ではなく1024倍になる(ことが多い)事です。
国際単位系(SI)という、国際的に定められ世界中で広く使われている単位系では1000倍で単位が上がるのですが、コンピューターの世界では昔から慣例的に1024倍で繰り上がる単位系が使われています。これは、コンピューターの基準が2進数ということからきており、2の10乗(=1024)で単位が繰り上がる単位系になっています。
ただし、コンピューターの世界でも国際単位系(1000バイトで1キロバイトとする)を採用するシーンもあり、ややこしさに拍車をかけてます。
結局、キロバイトはバイトの1000倍なの?1024倍なの?
バイトの単位が1000倍単位なのか、1024倍単位なのかについては、上で述べた通り国際単位系(SI)かコンピューターの慣例値かで変わりますが、混乱を避けるため、1998年にIEC(国際電気標準会議)というところで、両者を明確にする記法が定められました。
上が国際単位系(SI)の記法、下が2進数を基準とした1024倍単位を明示する記法です。
単位 | 英語表記(省略形) | 説明 | バイト数 |
---|---|---|---|
バイト | Byte(B) | 8Bit | 1 |
キロバイト | Kilo Byte(KB) | Byte×1000 | 1,000 |
メガバイト | Mega Byte(MB) | KB×1000 | 1,000,000 |
ギガバイト | Giga Byte(GB) | MB×1000 | 1,000,000,000 |
テラバイト | Tera Byte(TB) | GB×1000 | 1,000,000,000,000 |
ペタバイト | Peta Byte(PB) | TB×1000 | 1,000,000,000,000,000 |
エクサバイト | Exa Byte(EB) | PB×1000 | 1,000,000,000,000,000,000 |
ゼタバイト | Zetta Byte(ZB) | EB×1000 | 1,000,000,000,000,000,000,000 |
ヨタバイト | Yotta Byte(YB) | YB×1000 | 1,000,000,000,000,000,000,000,000 |
単位 | 英語表記(省略形) | 説明 | バイト数 |
バイト | Byte(B) | 8Bit | 1 |
キビバイト | Kibi Byte(KiB) | Byte×1024 | 1,024 |
メビバイト | Mebi Byte(MiB) | KiB×1024 | 1,048,576 |
ギビバイト | Gibi Byte(GiB) | MiB×1024 | 1,073,741,824 |
テビバイト | Tebi Byte(TiB) | GiB×1024 | 1,099,511,627,776 |
ペビバイト | Pebi Byte(PiB) | TiB×1024 | 1,125,899,906,842,624 |
エクスビバイト | Exbi Byte(EiB) | PiB×1024 | 1,152,921,504,606,846,976 |
ゼビバイト | Zebi Byte(ZiB) | EiB×1024 | 1,180,591,620,717,411,303,424 |
ヨビバイト | Yobi Byte(YiB) | YiB×1024 | 1,208,925,819,614,629,174,706,176 |
この取り決めに則れば、1キロバイト=1000バイト、1キビバイト=1024バイト、となりすっきりしますね。
ただし、このSI接頭辞・2進接頭辞、両者の使い分けはあまり浸透していません。
慣例はなかなか解消されず、現在でもコンピューターの世界では1キロバイト=1024バイトとする表現が使われています。むしろ多数派です。
ですので、キビバイト(KiB)・メビバイト(MiB)の表現がされていれば、1024倍(2の10乗)の単位であると明確にわかるのですが、コンピューター関係でキロバイト(KB)、メガバイト(MB)の表現が使われるときは、1000倍(10の3乗)か1024倍(2の10乗)かは、1024倍が多数派ではあるものの、結局のところ不明瞭だというのが現状です。
コメント