AdamTheTech Logo
Enthusiast of Technology, Web Development, and Sci-Fi

Microsoft’s Free Virtual Machine Images

Deus Ex: Human Revolution Review

Embed dll Files Within an exe (C# WinForms)

What is the REAL capacity of your drive?

Please be aware that this entry is over two years old. Therefore, it may contain broken links, outdated information, or views and content which are no longer completely valid.

It’s been known for years that the way manufactures tally up hard drive capacity and the way computers tally up capacity are slightly different.  We, as people, use the decimal system to count, as do the manufactures of hard drives.  Computers, on the other hand, use the binary system.

Binary is base 2.  Two states—on or off.  Our regular decimal number system is base 10 (I’m guessing the significance of this has something to do with the number of fingers we have).  Manufacturers count off in base 10 for the sake of simplicity and consistency.  Computers count off in base 2 because of the nature of electricity and how it’s used in all things electronic.

So, when computers calculate the capacity of a hard drive, they count up all the available bytes.  There are 8 bits to a byte.  Bits are either a 1 or a 0.  A byte is the smallest unit of storage available to a computer system, which can store a single ASCII character.

So, the next unit of measurement up from a byte is a kilobyte.  The prefix “kilo” means “1,000”, so when counting in the decimal system, about 1,000 bytes equals 1 kilobyte.  However, since computers run on the binary system, this number is actually 1,024 bytes.

Since the decimal system is in base 10, when you work with exponents in calculations, you must use 10 as a base (in other words, there are 10 different possible states of any one unit—0 to 9).  So, to get a figure of 1,000 bytes, you take 10 and raise it by 3 (10^3).

Since the binary system is base 2, you must use a base of 2 (because there are two possible states of any one unit—0 to 1).  In order to reach the approximate same value as the base 10 decimal system using whole numbers, the base will be raised to the power of 10 (2^10), which will result in 1,024 bytes.

Hopefully this is starting to become clear as to why the discrepancy exists.  When a number system is referred to a base “x” system, the “x” stands for the number of different possible states a digit can be.  In base 10, you can use digits 0,1,2,3,4,5,6,7,8, or 9.  In base 2, you can use digits 0 or 1.  So, in base 10, you are using powers of 10, while in base 2, you are using powers of 2.

In terms of capacity, in order to move up to the next unit of measurement (for example, from byte to kilobyte), powers of 1024 (rather than 1000) are used to calculate capacity.

So, 1,024 bytes = 1 kilobyte.  1,024 kilobytes = 1 megabyte.  1,024 megabytes = 1 gigabyte.  1,024 gigabytes = 1 terabyte.

Referring back to earlier when saying that hard drives determine capacity by counting the number of bytes, this means that the computer recognized a byte as the smallest measurable unit for data storage.  So, since each unit of measurement in increasing magnitude is 1,024 more than the previous measurement of magnitude, you get this:

1 B = 1 byte
1 KB = 2^10 bytes = 1,024 bytes
1 MB =  2^20 bytes = 10,485,76 bytes
1GB = 2^30 bytes = 1,073,741,824 bytes
…and so on.

Who can remember that 1,073,741,824 bytes is 1GB?  I surely can’t.  This is why manufactures find it easier to work with a base 10 system—all the numbers are nice and even!  This is how manufacturers see capacity:

1 B = 1 byte
1 KB = 10^3 bytes = 1,000 bytes
1 MB =  10^6 bytes = 1,000,000 bytes
1GB = 10^9 bytes = 1,000,000,000 bytes
…and so on.

Notice the difference?

So, when a manufacturer advertises an 80GB drive, what they say you’re getting in terms of bytes is 80,000,000,000 bytes.  This, of course, is capacity in terms of the base 10 system.

So, here’s the part you’ve been waiting for…

How to get the real capacity of your hard drive

There are three calculations to perform on the advertised capacity of 80GB.  There are 3 calculations because unit of GB is three orders of magnitude above the unit of B (byte).

So, take the advertised capacity and divide it by 1.024 three times.  If you do this correctly, an advertised capacity of 80GB will yield an actual capacity of 74.5GB (74,505,805,970 bytes)—the total capacity that is usable under a binary number system.

Try this method with large capacity drives, such as 300GB or 320GB.  As you’ll be able to see, you won’t get exactly the capacity advertised. For reference, here’s a list of common drive capacities matched with their actual data capacities (rounded to the nearest hundredths place):

  • 10 GB = 9.31 GB
  • 20 GB = 18.63 GB
  • 30 GB = 27.94 GB
  • 36 GB = 33.53 GB
  • 40 GB = 37.25 GB
  • 60 GB = 55.88 GB
  • 74 GB = 68.91 GB
  • 80 GB = 74.51 GB
  • 100 GB = 93.13 GB
  • 120 GB = 111.76 GB
  • 160 GB = 149.01 GB
  • 180 GB = 167.64 GB
  • 200 GB = 186.26 GB
  • 250 GB = 232.83 GB
  • 300 GB = 279.40 GB
  • 320 GB = 298.02 GB

Yes, this is a little misleading, hence the recent lawsuit against Western Digital for advertising one capacity for a hard drive, and having it show up as a slightly different capacity when used in a computer.  However, this is not the fault of WD, but the fault of the conversion process between the two number systems; similar to the conversion process between the Fahrenheit and Celsius temperature scales.

(Originally published on a now-defunct blog)