【余談#9】 1TBのHDDを買ったのに930GBしか認識しない…

投稿者: | 2018年11月25日

3,765 views

この記事は最終更新から 2140日 が経過しています。

プログラマー稼業をやっていると、たびたび人に聞かれることです。

ハードディスクや SSDの箱に表示されているサイズよりも、パソコン上で認識されるサイズが小さい。
騙されたのか?
不良品なのか?

答え

騙されたのか? → △微妙…
不良品なのか? → ×不良品ではありません。

製品のサイズ表記には 10進法で数えた値が使われているが、
パソコン上では 2進法で数えた値が使われているから。

すなわち…
パソコン上でサイズ表示させると GiB, MiB, KiB 単位で表示されるから。

GiB: 1024 x 1024 x 1024 バイト (ぎびばいと)
MiB: 1024 x 1024 バイト (みびばいと)
KiB: 1024 バイト (きびばいと)

÷1024は、2進数で 10桁シフト(÷2÷2÷2÷2÷2÷2÷2÷2÷2÷2)させているということ。
÷1000が、10進数で 3桁シフト(÷10÷10÷10)させるのと同じこと。

実例

うちの Intel NUC Subversion Server には 240GBの SSDを積んでいる。
dfコマンドでディスク容量を見ると以下の通り。

3.7G + 219G + (88M + 87M + 89M + 511M) / 1024 ≒ 224G
上表のサイズと同じだ。

ちなみに…
なぜ2進法など使うのか?
は、急がば回れでコンピューターアーキテクチャの入門書籍を読まれるとよいです。

 

所感

・通信速度や記憶領域容量など、いろいろな場面で GB, MB, KB の表記が使われるが、1000 or 1024が混在している。
・実用上は大差ないから積極的に区別しようとする空気が生まれないのだろう。
・個人的には GiB, MiB, KiB と書いて区別するようにしている。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です