KBとKiBとハードディスクの容量
よく「2TのHDD買ったけどパソコンでは1.86Tって表示される。どうしてだっけ?」と悩むのでメモ。
KB(キロバイト)はしばしば以下の2通りに解釈されます
・1,024バイト(2^10。慣用的。区別のためケーバイトとも読む。あと大文字小文字云々)
・1,000バイト(SI単位系)
私たちがパソコン内で使用しているのは上です。けどHDD販売とかで使用されるのは下。
ただパソコン内でもエクスプローラではhuman-readableを使っているのがポイント。
右クリック→プロパティとかすると、大抵左に実際のバイト(2^10)、右にhuman-readableのバイトが書いてある。
164,496,923バイト 157MB
って感じに。これは無修飾→Kに直すとき、K→Mに直すときに1,024で割るからそうなる。単純な計算ですね。
※Ubuntu とUnix環境では「-h」オプションをつけるとhuman-readableになります。
ここまではいいんだけど、問題はHDDが販売の時に慣用的なバイトに対して10進数のSI単位を使うこと。
つまり上の例で言うとHDDでは「164MB」とか表記するわけ。
だからHDDでいう「2T」と言うのは、
2TB(SI)=2,000,000,000,000バイト(2^10)=1.86TB(human-readable。1,024で4回割る)
となるわけ。私たちがデータで扱うのは基本human-readableの方だから、正直HDDの表記は詐欺っぽいです。アメリカでは訴訟が起きるくらい。
なので区別するために「KiB(キビバイト)」みたいな表記が出てきてたりします。この表記であれば
2TB=1.86TiB
と同じ単位にならずに済みます。
けれどパソコンのエクスプローラはもう完全にTB表記(human-readable)になってしまっているので、この「KiB」や「TiB」が普及するのは正直なさそうです。
ソース:
キビバイト
ハードディスク計算