Full Version of this article can be found here

Hard Drive Size being reported wrong in Windows

Why doesn't my hard drive show the correct size?

The short answer to there's two different measurement formats used. Decimal (GB) and binary (GiB) formats. Binary is used by Windows and decimal is used by the manufacturers. Both the manufacturer and Windows are giving you the "correct" number.

Binary numbers are numbers that are a power of 2.
Decimal numbers are numbers that are a power of 10.

2^10 is 1,024 the closest Decimal number is 10^3 or 1,000
2^20 is 1,048,576 The closest Decimal number is 10^6 or 1,000,000
2^30 is 1,073,741,824 The closest Decimal number is 10^9 or 1,000,000,000

Now lets look at common terms:
Kilo means 1 thousand
Mega means 1 million
Giga means 1 billion
Tera means 1 Trillion

1000/1024 = .9765625
1,000,000/1,048,576 = .9536743
1,000,000,000/1,073,741,824 = .93132257

Noticing a trend yet?

At the Kilobyte size the difference is about 2.34% While at the Gigabyte stage the difference is 6.86% Since we're living in the day where it's relatively easy to put a full terrabyte of storage in your computer that "close enough" is becoming further and further from "close enough" At the Terrabyte level the difference is getting very close to 10%

Would you want to buy a hard drive that is labeled as 2^35 byte hard drive? Or would you rather see a 500Gb drive? I don't want anybody ever having to pull out a calculator to figure out how big their hard drive is!

Windows is the one reporting things wrong! Not your manufacturer. Windows does the binary calculations and then displays GB next to it. When GB is technically wrong due to it's definition. What it is actually displaying is the GiB size.

Since the GB number will always be so much higher than the GiB number it's a safe bet to assume that the hard drive manufacturers won't convert to using the GiB format. Memory manufacturers on the other hand are doing things right. You don't see then selling 1Gb of RAM as 1,073Mb do ya? It gets VERY confusing in the hardware world due to some people using 1 standard while they other group using the other one.