SSDやHDDの実際の容量がパッケージの値と異なるのはどうして?理由は1KBは1000バイトなのか1024バイトなのかの違いにあった!?

SSDやHDDを新しく購入したとき、パッケージにかかれている容量と実際にPCが認識した容量に違いが出るのを知っていると思います。 必ず、パッケージの容量よりも実際の容量のほうが小さくなります。どうしてなのでしょうか?

結論からいうと、「パッケージでは1KBを100バイト、PCでは1KBを1024バイトとして計算しているから」です。 なぜ、このような表記の揺れが存在するのでしょうか?

この記事では、1KBは1000バイトなのか、1024バイトなのか、掘り下げて解説したいと思います。

1KBは1000バイトなのか?1024バイトなのか?

突然ですが、質問です。

Q: 正しいのはどちらでしょう?

  1. 1KB=1000バイト
  2. 1KB=1024バイト

A: 答えは、ここをクリック! 正解は、「1KB=1000バイト」です。

一般的には、1024バイトが正しいと思われているところもあります。 ですが、そもそも論として、

「1kmが1000m」であるように、「キロ」は「1000」を表すものです。 「1kmが1024m」だったら、おかしいですよね? だから、1KB=1024バイトは間違いなのです。

でも、なんで「1KB=1024バイト」なんていうのが広まったのでしょうか?

なぜ、1024が存在するのか?

情報の最小単位は「0」「1」のどちらかで表します。 それがたくさん集まって、大きな情報を表すことができます。

例えば、1桁の「0」「1」で情報を表そうとすると、「0」「1」の2種類の表し方が存在します。 同様に2桁だと、4種類。3桁だと8種類。4桁だと16種類という風に増えていきます。

更に桁を増やしていくと、このようになります

桁数 種類の数
1桁 2種類
2桁 4種類
3桁 8種類
4桁 16種類
5桁 32種類
6桁 64種類
7桁 128種類
8桁 256種類
9桁 512種類
10桁 1024種類

ここで、「1024」という数字が出てきました。

1024は「210」です。ここから来ているのです。

そして、この1024がたまたま1000に近いから、色んな所に使われています。

1000と1024の差と、実際に起った問題について

1000と1024の差

私達の実際の生活では「1000」と「1024」の差で困ることは殆どありません。 しかし、ギガバイト、デラバイトなど大きなサイズになればなるほど影響は大きくなります。

まず、1000と1024に何パーセント差があるのかを考えて見ましょう。

キロバイトでは、「1000/1024」で2.4%の差があります。 更に、メガバイトの場合は、「1000000/1048576」で4.9%。 ギガバイトの場合は、「1000000000/1073741824」で7.37%。 テラバイトの場合は、「1000000000000/1099511627776」で9.95%。

これらをまとめると、次のようになります。

f:id:k4zzk:20181122103007p:plain

実際に起った問題について

TODO、、、やる気切れた