Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Possible Duplicate:
Why is the effective hard drive size lower than the actual size?

For example, I have a 250 GB hard drive and when I add up all the partitions (and there are no hidden partitions), it comes out to 232 GB. I know that this is normal, but I was curious as to why, so I googled around a bit and have came across two theories.

One said this happens because the hard drive manufacturers use 103 to define a kilobyte (1000 bytes) while windows uses 210 (1024 bytes).

The other theory said that

1 GB = 1024 MB = 1024 * 1024 KB.


1024 * 1024 * 232 = 243,269,632 ~= 250GB.

Which theory is true? Or is there a different reason that is the correct reason?

share|improve this question

marked as duplicate by Ƭᴇcʜιᴇ007, studiohack Mar 21 '11 at 15:07

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

up vote 8 down vote accepted

The whole point is in prefixes. Standard SI prefixes increase by 10^3. So we have kilo which is 1000 (10^3), then we have mega which is 1000000 (10^6) and so on. For some reason that prefixes are being incorrectly used by computer scientists to represent 2^10 (which is 1024).

To solve the problem, new set of prefixes was introduced whose step is 2^10. So now we have one kibibyte (KiB) which is 1024 bytes, one mebibyte (MiB) which is 1048576 (2^20) bytes and so on.

Unfortunately, these new unambiguous prefixes have not been adopted by Microsoft and Apple, so operating systems made by them are still spreading confusion.

So to cut the long story short, hard drive manufacturers are correct, but their interpretation of mega and giga is different than one commonly used in computer science.

Here's a nice Wikipedia article on that.

share|improve this answer
Computers natively work with binary and thus really like things when they are even powers of 2. That's why the convention of 1Kbyte=1024bytes came about. – LawrenceC May 2 '11 at 19:27
But Apple has adopted the standard SI prefixes for file and disk sizes, which is even better. – endolith Jun 15 '11 at 4:57
@ultrasawblade :Except for the rare cases where doubling or halving a number can be accomplished with a shift operation, computers don't really "like" numbers that are even powers of 2. The reason RAM is sized in powers of two is that it is then very easy to aggregate different RAM modules and end up with a contiguously addressable block (not that that is very important any more). This doesn't apply to hard drives; there is nothing in a hard drive that requires or even encourages its capacity to have 2 as its only factor. – Jamie Hanrahan Jul 11 '15 at 5:09

It is how GB is defined. The difference between how the manufacturer markets it and how the OS reads it is based on different criteria, exactly as you mentioned in your question. If you look closely on the boxes for most major brands they will indeed add a disclaimer that states that they measure a gigabyte by 1,000,000,000 bytes, not 1,073,741,824 bytes as the OS does.

The wikipedia article for gigabyte goes over this in detail. You can also see the lawsuit against WD for this.

share|improve this answer

As well as the difference between binary and decimal powers, when you prepare a disk for storing data, a percentage of the disk is taken up with the information needed to make this all happen - it's a bit like finding that a '250 page' book is actually 246 pages + 4 pages for the preface and index.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.