金曜日, 11月 27, 2009

KMGの常識と非常識

 常識って怖いです。今日の話は、MacとWindowsの両方の環境を何年も使ってきて、ホントに基本的で簡単な違いにも気がついていなかったという、常識の落とし穴の話です。

 タイトルのKMGって何のことかというと、キロ・メガ・ギガ。つまり単位の話。
 世間の常識では1キロは千、1メガは百万、1ギガは10億ですよねえ。
 1キロメートルは1000メートルだし、1メガワットは百万ワットだし、1ギガヘルツは10億ヘルツだし。

 だけど、単位がバイトの場合だけ違ってくる。Windowsのエクスプローラでファイルのサイズを見ると、1KB=1,024バイトだし、1MB=1,024KB=1,048,576バイトだし、1GB=1,024M=1,048,576KB=1,073,741,824バイトなのです。私は無意識にこれはコンピュータの世界の常識だと思ってました。
 なんで、コンピュータでは1024を1000の代わりに単位の計算に使うのでしょうか。これは、コンピュータが基本的に2進数で管理されていて、2の10乗が1,024で千に近いから、これを近似値として昔から使っていたことに由来するんですよ。でもこのルールは昔はキロの単位までで、メガ以上の単位にまで同じ規則で拡大されたのは結構最近の話です。

 たとえばフロッピーディスクを使っていた時代、IBM-PCの3.5インチ2HDという規格が一番普及していたのですが、この容量が1,440KBでした。この時のKBは1024で計算されてたのですが、この時には1M=1000KBで計算されていて、1,440KBは1.44MBのFDと呼ばれていました。つまりこの時の1MBは1,000KBで、1,024,000バイトだったわけです。これはフロッピーディスク時代の常識。

さて、その後、ハードディスクの容量が増えてくると、メガを飛び越えてギガという単位も当たり前になり、今ではテラなんて単位まで登場し始めています。今の時代はWindowsからディスクのサイズから見ることが多いから、キロを1024、メガを1024キロと1024の乗数で見ることが常識になってますよねえ。でもこれだと困る人たちがいる。それはハードディスクメーカです。だって単位が大きくなるにつれて、1000倍の乗数の単位系と、1024倍の乗数の単位系の誤差は大きくなってきます。1ギガを1000の乗数で計算した場合に比べて1024の乗数で計算すると7%も多くなるです。つまりハードディスクメーカーとしては本来の単位である1000の乗数で容量を表示した方が大きなサイズで表示できるんですよ。これはハードディスクメーカーの常識でこの記事の最初に書いた世間の常識とも一致しています。これも私にとってはハードディスク容量の常識です。でもそれを知らない人たちはWindowsの常識で考えるから、買って帰ってPCにつないだら容量が足りないと思って米国では訴訟まで起こす人たちがいたんです。しかも、ハードディスクメーカーが裁判で和解金を支払ったそうです。

 さて、なんで今日はこんな話をアップしているのかというと、実は私がサイトで配っているファイルのサイズのことが書きたいんです。私のメイン開発環境はMac OS Xなんで、サイトにファイルをアップするときに、MacのFinderでファイルサイズを確認して、これをWebのページに書き込んでます。ところが、Vectorで同じファイルをダウンロードしようとすると、私が書き込んだものよりも小さな数字が書いてあるんですよ。最初はあまり気にしてなかったんだが、最近になってなぜか気がつきました。

 わかってしまえば簡単な話です。例を挙げると、昨日リリースした「Tokyo Railways v1.77」のMac OS X版はFinderで見ると4.6MBと表示されてますが、これは実際には4,553,891バイトなんですよ。これをWindows風に1024の乗数で計算したら、4.34MB、だけどMacでは4.6MB。これを見ればわかるように、Mac OS Xでのファイルサイズの表示は1024の乗数ではなくって、1000の乗数だったんです!

 こんな簡単なことに何年も気がつかなかったなんて驚きです。ファイルサイズですらMacとWindowsでは常識が違うんですねえ。常識って、人や状況によってこんなにすれ違うものなんですよ。
 やっぱり常識って怖い・・・

↓の評価ボタンを押してランキングをチェック!
素晴らしい すごい とても良い 良い

0 件のコメント: