原因
結論から言うと
- HDDなどに表記されているのは・・・SI接頭辞
- PC内で使われているのは・・・2進接頭辞
だからだった。
例えば、以下のようなHDDに記載されているT(テラ)は、SI接頭辞であるT(テラ)=1012。
▲容量2TBのHDD。だけどWindowsに接続すると1.81TBと表示される。 |
逆に、パソコンの容量として表示されるT(テラ)は、2進接頭辞であるT(テラ)=240。
▲本来の容量としては2,000,396,742,656 バイト。なのでHDDを販売しているメーカーは嘘を付いていない。
|
つまり、
同じT(テラ)なのに意味がまったく違うのがそもそもの原因。
SI接頭辞 と 2進接頭辞の違い
表にすると以下のような感じ。
SI接頭辞 | 2進接頭辞 | |||
---|---|---|---|---|
名前 | 記号 | 値 | 記号 | 値 |
キロ | k | 103 = 1 000 | K | 210 = 1024 |
メガ | M | 106 = 1 000 000 | M | 220 = 1 048 576 |
ギガ | G | 109 = 1 000 000 000 | G | 230 = 1 073 741 824 |
テラ | T | 1012 = 1 000 000 000 000 | T | 240 = 1 099 511 627 776 |
▲キロ以外は記号が同じなので違いが判別できない。
(キロに限ってはSI接頭辞では小文字のk、2進接頭辞では大文字のK)
つまりキロに関しては、以下のように表記の違いでどちらか判別できるけど
- 1kB=1,000バイトのこと
- 1KB=1,024バイトのこと
キロ以外は、以下のように表記だけではどちらか分からないのだ。
- 1MB=1,000kBかもしれないし、1,000KBかもしれない
- 1GB=1,024MBかもしれないし、1,000MBかもしれない
- 1TB=1,024GBかもしれないし、1,000GBかもしれない
こんなもん、ITに詳しくない人なら「なんで表記されてる容量より少ないんだろう」と混乱するのは当たり前ですよね。
てかITに詳しい人でも知らない人多いでしょ多分。
2進接頭辞(旧)と 2進接頭辞(新)
よくよく考えると、PCパーツとして販売されている「メモリ」は、2進数接頭辞で容量が表記されています。
例えば、以下の商品は8GBなメモリですが、ここでいう「GB」は2進数接頭辞の「GB」なので、パソコン上で認識してもきちんと「8GB」と表記されます。
マジで謎😑
同じパソコンの商品なのに
- メモリ:2進数接頭辞
- HDDやSSD:SI接頭辞
って明らかにおかしいだろどうなってんだって感じだけど
これは以下のような理由かららしい。
今回の原因を作っているのはHDDベンダである。すべての記憶装置で1,000換算が採用されているのであれば、古くからの慣習に従おうという気持ちになれなくもないが、メインメモリが1,024換算で、HDDが1,000換算なのは明らかに不自然だ。
HDDが1,000換算を採用したのは、国際単位系で定められた本来の接頭語を尊重して、もっと具体的に言えばIECで定められた国際規格「IEC 60027-2」に従って接頭語を使用しているからということが分かった。“容量が大きく見える”というのは単なる副産物であって、故意ではなかったのだ。正確な情報をつかめたのでいまここで早急に訂正したい。
引用:伊勢雅英のIT見聞録
上の引用をまとめると「2進数接頭辞とSI接頭辞が同じ記号だからまぎらわしいんだろ?」というわけで
以下のように新しい2進接頭辞用の記号が定義されたらしい。
SI接頭辞 | 新しく制定されている2進接頭辞(※ただし、ほとんど使われていない) | ||||
---|---|---|---|---|---|
名前 | 記号 | 値 | 名前 | 記号 | 値 |
キロ (kilo) | k | 103 = 1 000 | キビ (kibi) | Ki | 210 =1 024 |
メガ (mega) | M | 106 = 1 000 000 | メビ (mebi) | Mi | 220 =1 048 576 |
ギガ (giga) | G | 109 = 1 000 000 000 | ギビ (gibi) | Gi | 230 =1 073 741 824 |
テラ (tera) | T | 1012 = 1 000 000 000 000 | テビ (tebi) | Ti | 240 =1 099 511 627 776 |
ただ、2進接頭辞用(新)はほとんど使われていないのが現状らしい。
実際、この記事を読んでいる人も知らない人が99%だと思います。
そしてHDD/SSDメーカーは、マイナーな2進接頭辞(新)を使うとユーザーが混乱するだろうから、いまだに2進接頭辞(旧)を使い続けているのが現状。
まぁ正直、HDD/SSDメーカーとしても
- 「今までSI接頭辞で記載してきたのに今さら2進接頭辞(新)に変えたところでユーザーが混乱するだろう」
- 「というかWindowsやMacがSI接頭辞表記に変えるべきでは?もしくは新しい2進接頭辞で表記すべきでしょ!」
って感じだろうし
MicrosoftやAppleとしては
- 「2進接頭辞(新)に変えるなんて発表してもユーザーが混乱するだけだろうし、2進接頭辞(旧)で不自由がなかったんだから別にそのままでいいじゃん!」
- 「てかこの問題はHDDメーカーがそもそもの発端なんだからお前らが2進接頭辞(旧)で表示したら解決するじゃん!」
って感じだろうし、おそらく一生解決しない問題でしょうね・・・。
おわり
コメント