- GBとGiBの違いを解説した!
- 人間は10進数・機械が2進数が都合が良い!
- テラバイト時代には大きな誤差になる!
GiBは誤表記ではないよ。
パソコンでおなじみの『GB』という単位。たまーに『GiB』という表記を見ますが、実はこの2つはまったく違う単位だったのです。
キロ・メガ・ギガ・テラ・ペタ…えーと……何だっけー!?
寿限無みたいやね。
目次
GB ≠ GiB
『GB』と『GiB』…とっても似ています。
しかし、この2つのデータを表す2つの単位は、まったくの別モノ。決して、GigabyteのGとIとBと取って、GiBとした表記ブレというわけではありません。
それぞれ、
- GB:Gigabyte
- GiB:Gibibyte
という読みですね。
一文字違いなのに、意味が変わってくるってことですな〜。
それぞれの意味
■GB
意味:109 Byte
読み:ギガバイト
■GiB
意味:230 Byte
読み:ギビバイト
GBとGiBの意味と読み方を上記に簡単にまとめてみました。
すると、ご覧のとおり、当然読み方も異なりますが、意味が全然違うことに気づくはず。なので、理解する上で混同すると大変だったりします。
GBは10のべき乗
改めてGBを見てみると、
1GB = 109 Byte
という公式が成立します。
ここでキモなのが、10のn乗ということ。言い換えると、底(掛け算する部分)が10で、指数がnです。要するに、この“10”という数値が重要になってきます。
GBは“10”を掛け続けるということだねっ!
GiBは2のべき乗
対してGiBを見てみると、
1GiB = 230 Byte
という公式が成立します。
もうお分かりだと思いますが、こちらは底が2で、指数がnです。流れ的に気づいていると思いますが、こちらでは“2”という数値が重要になってきます。
GiBは“2”を掛け続けるってことやね!
解釈の違いから生まれた2つの単位
ここまでの話で、
- ○B = 10n
- ○iB = 2n
という違いがあることが分かりました。
ですが、どうして“底の部分”が異なる2つのデータを表す単位が存在するのでしょうか。
それは人間と機械の解釈が違うということなのです。
私たち人間は、基本的に10進数の世界で生きています。お金の単位もそうですし、重さや距離…いろいろなところが10区切りです。あ、時間だけは特別ですが。とにかく、人間が理解するには、“10”という区切りの良い数字のほうが都合がつくわけです。
対して、機械(パソコン)というのは、オン(1)かオフ(0)の世界。この世界では1と0という数値しか最終的には扱いません。つまり、2進数の世界で生きているのです。
要するに、人間世界では10区切りの価値観で生きていて、機械の世界では2区切りの価値観で生きている。そのほうが都合が良いということです。
情報学の勉強をやってると、10進数を2進数とか16進数の変換計算とかするよねっ。大学時代が懐かしいぞー!
カラーコードは16進数やんね!
16進数はさておき、つまりは物事の量を表すのに、それぞれに都合の良い区切りがあるということですね。
SI接頭辞・2進接頭辞
データを表す単位、KB・GBと表すほうを『SI接頭辞』、KiB・GiBと表すほうを『2進接頭辞』と呼びます。
それぞれを以下の表にまとめたので、参考にどうぞですわ。
SI接頭辞
名前 | 単位 | SI接頭辞 |
キロバイト | KB | 103 |
メガバイト | MB | 106 |
ギガバイト | GB | 109 |
テラバイト | TB | 1012 |
ペタバイト | PB | 1015 |
エクサバイト | EB | 1018 |
ゼタバイト | ZB | 1021 |
ヨタバイト | YB | 1024 |
データを表すSI接頭辞。
2進接頭辞
名前 | 単位 | 2進接頭辞 |
キビバイト | KiB | 210 |
メビバイト | MiB | 220 |
ギビバイト | GiB | 230 |
テビバイト | TiB | 240 |
ペビバイト | PiB | 250 |
エクスビバイト | EiB | 260 |
ゼビバイト | ZiB | 270 |
ヨビバイト | YiB | 280 |
データを表す2進接頭辞。
問題は混在と浸透
こうやって2つのデータを表す単位が存在しているのですが、最大の問題はKiBやGiBが浸透せず、一緒くたにされてしまっていることでしょう。
例えば、2TBのHDDを買ってきて、PCに接続すると2,000GBより少なく認識することを疑問に思ったことがあるはず。この誤差の大きな要因こそが、WindowsやmacOSでの容量表記“だけ”を、MBやGBといった『SI接頭辞』にしているということ。ややこしいですが、単位表記だけがSI接頭辞で、実際の変換は2進接頭辞と行っているということです。
さらに、HDDやSSDはメーカーによって表記が、SI接頭辞変換(1,000ごと)なものや、2進接頭辞(1,024ごと)だったりする始末。要するに、テクニカル的・アカデミック的には区別するが、一般的には“すべてSI接頭辞的表記”になっている。
こういう表記ブレと2つの単位の混在が、ちょっと知っている人からすると意味不明な自体を招いてたりするのです。
このブログでも、表記は便宜上SI接頭辞変換で行っています。どうしても…というときのみ、2進接頭辞で表記しています。
まとめ「小さな違いが大きな違いを生む」
どうしてこのような話をしたかというと、これからのテラバイト時代〜ペタバイト時代に備えて知っておきたいからです。
- 1KB = 1,000 Byte
- 1KiB = 1,024 Byte
という誤差24ですが、
- 1TB = 1,000,000,000,000 Byte
- 1TiB = 1,099,511,627,776 Byte
という感じで、単位が大きくなると誤差が大きくなる。
これから表記と変換がブレなくなることはなさそうなので、大容量時代においてこういうことが起こっていることは、知っておくべきでしょう。
ドラえもんのバイバインの恐ろしさに似てますね…。
おまけ
最初に起きた小さな誤解から、最後は大きな人間関係のもつれになるんだよねー。
そう、悲しいですね。
え…話が変わってない?
同じことだよー。
同じことです。
えええ!?
おわり
ちなみに『GiB』の読みは『ギビバイト』ですわ。