実は違う、GBとGiB。SI接頭辞・2進接頭辞と混在問題について

記事のポイント
  • GBとGiBの違いを解説した!
  • 人間は10進数・機械が2進数が都合が良い!
  • テラバイト時代には大きな誤差になる!

GiBは誤表記ではないよ。

パソコンでおなじみの『GBギガバイト』という単位。たまーに『GiB』という表記を見ますが、実はこの2つはまったく違う単位だったのです。

まの

ちなみに『GiB』の読みは『ギビバイト』ですわ。

二条ねこ

キロ・メガ・ギガ・テラ・ペタ…えーと……何だっけー!?

さたえり

寿限無みたいやね。

GB ≠ GiB

GBとGiBは別の単位。

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つの単位

解釈の違いから生まれた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が浸透せず、一緒くたにされてしまっていることでしょう。

TBとTiBの表記と解釈混在問題。

TBとTiBの表記と解釈混在問題。

例えば、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

という感じで、単位が大きくなると誤差が大きくなる。

これから表記と変換がブレなくなることはなさそうなので、大容量時代においてこういうことが起こっていることは、知っておくべきでしょう。

まの

ドラえもんのバイバインの恐ろしさに似てますね…。

この記事で紹介したガジェット

おまけ

二条ねこ

最初に起きた小さな誤解から、最後は大きな人間関係のもつれになるんだよねー。

まの

そう、悲しいですね。

さたえり

え…話が変わってない?

二条ねこ

同じことだよー。

まの

同じことです。

さたえり

えええ!?

おわり