単位のハナシ

HDD の整理してたら出てきたなんか出てきたのでいい機会だからまとめ。情報科学・工学まわりの単位について。最近半導体まわりの news なんかでも見かけるようになった GiB だとかのハナシね。

ちょいと調べてみると「 2 進接頭辞」というもので IEC が 1998 年に承認、 2000 年ごろから仕様が推奨されてきたとのことで。英語だと binary prefix 。

ああこりゃわかりやすい。というかそもそも論をいうとひとつの表記に違う意味を詰め込むのがおかしいというか ( 中略 ) たとえば RRDtool なんかで graph 書くときの --base option の存在なんか如実にここらへんの問題を表わしていると思うんですよ -> http://oss.oetiker.ch/rrdtool/doc/rrdgraph.en.html

でまぁ今までは blog なんかで MiB とか書かれてるのをたまに見かけてたくらいであーなんか一応国際的に決まってるみたいだけどみんなあえて使ってないのかなとか思ってたんだけど最近見かけることが多くなってきたなぁと。うーん下位互換性とかあまり関係ないのに 10 年がかりってけっこう遅いなぁ、とか。

でまぁ日本では曖昧なんだけどとりあえず以下のような分け方を英語版 wikipedia でしている。

  • SI 接頭辞 - SI prefix ( http://en.wikipedia.org/wiki/SI_prefix )
    • 103 × n
    • k, M, G のほう。
    • network の速度とか CPU clock とか USB flash memory の容量とか。
  • 慣例的な 2 進接頭辞 - customary binary prefix
    • 210 × n
    • k, M, G を使ってはいるんだけど乗数が 1000 じゃなくて 1024 の場合。
    • HDD や primary memory の容量とか。
  • 2 進接頭辞 - binary prefix
    • 210 × n
    • Ki, Mi, Gi のほう。
    • HDD や primary memory の容量にたまに使われてる。

おれ今回初めて知ったんだけど USB flash memory の容量って SI 接頭辞なのな… -> http://en.wikipedia.org/wiki/Binary_prefix#Flash_drives 。つまり 256MB のモノは 256,000,000 byte の容量しか使えないってことで。でもなんか物理的には 256MiB 積んであって、つまり 268,435,456 byte の容量を持ってるんだけど寿命を延ばしたり内部でごにょごにょするために必要な容量をさっ引いて SI な容量にしてるんだってさ。

でまぁ現状だと慣例的な 2 進接頭辞と解釈すべきところを知識や文脈の欠如とかで SI 接頭辞として解釈してしまう、とかその逆がアレなのでみんな上記の分類のうち一番上と一番下だけ使おうよ、ってハナシだな。おれもそうする。