「システム基盤構築のプロフェッショナル」レック・テクノロジー・コンサルティング

技術ブログ

~General Topics編 ~

MB と MiB の単位記号の使い分け

1MB = 1000kB ? それとも 1024kB ?
どちらが正しいと思いますか。

こんにちは。T.W.です。

普段我々が使っているkB、MB などのデータ単位の記号は、
実際にいくつのバイト数を指しているかご存知ですか。

kBだけの単位を注目いただけると、k と B の2つのアルファベットで構成されています。
この場合ですと、それぞれ下記のような意味を持っています。

・前者:国際単位系(SI)におけるSI接頭辞
 「1000」の代わりにアルファベット「k(1k)」で表現できる。
・後者は:固定サイズのデータ(バイト)の略
 「1000バイト」の代わりに「1kB」で書かれている場合が多い。

▼▲▼▲ 小ネタ ▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲
国際単位系(SI)では、小文字の「k」が正式表記になります。大文字ではありません。
(知ってました?これだけでもびっくり!?するかもしれませんね)
▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲▼▲

主によく使われる十進法から見るとk、MなどのSI接頭辞を使うことで、
非常に大きな数字を扱いやすくできるメリットがある反面、
コンピュータの世界では二進法で計算を行いますので、
k、Mなど十進法の接頭辞を二進法の数字に使うと数の誤差が生じる場合があります。

例えば、1024バイト(2^10バイト)を1.024kBに書き変えると、さらに扱いにくくなるし、
1kBに書き変えると24バイト分が少なくなるケースがあります。

そこで、上記の問題を解決するために、電気工学、電子工学、および関連した技術を扱う
国際的な標準化団体である国際電気標準会議(IEC)が決めた「2進接頭辞」を推奨しています。

2進接頭辞って、設計書などのドキュメントで見たことありますでしょうか。

2進接頭辞の書き方・読み方(バイトの数を表現する場合)

書き方読み方バイト数の表現
1KiBキビバイト1024バイト
1MiBメビバイト1024KiB
1GiBギビバイト1024MiB
1TiBテビバイト1024GiB
1PiBぺビバイト1024TiB
1EiBエクスビバイト1024PiB
1ZiBゼビバイト1024EiB
1YiBヨビバイト1024ZiB

記述方法は、SI接頭辞の後に「i」を付けるだけですね。

なぜ2進接頭辞普及しないのかとその理由について

2進接頭辞普及しない理由はいくつか考えられますが、よく言われるのはわずかな誤差を無視する慣習があったからです。二進法ベースのシステムでは、大きな量を表す際、SI接頭辞キロ(k)が表す乗数1000に近い1024、SI接頭辞メガ(M)が表す乗数1000000に近い1048576、その誤差を無視する慣習がありました。一気にSI接頭辞ではなく、2進接頭辞を使うことがなかなか社会・業界への浸透ができないのが現状です。別の観点からみると、キロバイトは1000バイトか1024バイトか曖昧な部分もあり、事前に明白・説明する必要があります。

これから2進接頭辞を普及させるべき理由とは

その理由も誤差に密着な関係にあります。
今現在、使用するデータ容量が大きくなってきていますので、桁が大きくなればなるほどにこれから無視できない誤差が生じるからです。

上記の内容で、
1000(k)に近い1024をキロで表現すると、24(2.4%)の誤差が発生し、
1000000(M)に近い1048576をメガで表現すると、48576(4.8576%)の誤差が発生します。
以下の表ご覧ください。

SI接頭辞(バイト)2進接頭辞(バイト)誤差(%)
kBKiB2%
MBMiB4%
GBGiB7%
TBTiB9%
PBPiB12%
EBEiB15%
ZBZiB18%
YBYiB20%

ご覧頂いた通り、単位が大きければ大きいほと、誤差が大きくなることがわかります。

2018年現在TB単位のポータブルストレージを簡単に入手することができます。更に数年後には、PB単位のストレージが量販店で流通する時代がくるでしょう。そのときにあなたは12%の誤差を許容できますか?

そういったことを踏まえて、今から2進接頭辞の記述や読み方を覚えておきましょう。

自分は、今回執筆にあたって改めて詳細を調べたりもしましたが、こういう機会がなくても最新動向や情報に敏感な人ってちょっとカッコイイですよね。

参考になれば幸いです。

以上

コメントを残す

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

資料請求・お問い合わせはこちら

▲ ページトップに戻る

技術ブログ

2020年7月
« 6月    
 12345
6789101112
13141516171819
20212223242526
2728293031  
採用に関するお問い合わせはこちら