Is it true that 1 MB can mean either 1000000 bytes, 1024000 bytes, or 1048576 bytes? [duplicate]

Possible Duplicate:
What is the difference between a kibibyte, a kilobit, and a kilobyte?

If 1 KB (kilobyte) can mean either 1000 bytes or 1024 bytes,

And 1 MB (megabyte) can mean either 1000 KB or 1024 KB,

doesn't that mean that 1 MB can either mean any of the one of the four below? :

  1. 1000 × 1000 = 1000000 bytes

  2. 1000 × 1024 = 1024000 bytes

  3. 1024 × 1000 = 1024000 bytes

  4. 1024 × 1024 = 1048576 bytes

Or is 2. and 3. not accepted so 1 MB could mean either only 1000000 bytes of 1048576 bytes?


First, there are two types of prefix when talking about digital information (read bytes): SI prefixes and binary prefixes.

SI prefixes

SI prefixes are powers of 1,000 (1,0001, 1,0002, 1,0003, etc.):

  • 1 kB = 1 kilobyte = 1,0001 bytes = 1,000 bytes;
  • 1 MB = 1 megabyte = 1,0002 bytes = 1,000,000 bytes;
  • 1 GB = 1 gigabyte = 1,0003 bytes = 1,000,000,000 bytes;
  • and so on.

As you can see, only SI symbols mega and above are capitalized. Therefore, KB is not a valid prefix.

Binary prefixes

Binary prefixes are powers of 1,024 (1,0241, 1,0242, 1,0243, etc.):

  • 1 KiB = 1 kibibyte = 1,0241 bytes = 1,024 bytes;
  • 1 MiB = 1 mebibyte = 1,0242 bytes = 1,048,576 bytes;
  • 1 GiB = 1 gibibyte = 1,0243 bytes = 1,073,741,824 bytes;
  • and so on.

As you can see here, every binary symbol is capitalized and an lower-case i is added before the B symbol to indicate that we are talking about kibibytes instead of kilobytes, mebibytes instead of megabytes, etc.


However, binary prefixes are not widely used, Windows doesn't use them at all.

What happens here is that Windows tells us that the hard disk drive has a capacity of 300,066,795,520 bytes which, according to Windows, equals 279 GB. However, we know that if 1,000,000,000 bytes = 1 GB, 300,066,795,520 bytes = ~300 GB = ~279.5 GiB.

Therefore, if you see 1 KB (which is wrong, remember) or 1 MB, assume we are talking respectively of 1 kibibyte and 1 mebibyte. Kb, kb, Gb, gb, etc. are also frequent, even though they represent bits (8 bits = 1 byte).


In fine, in no case can 1 KB or 1 MB have multiple values, even though the (bad) usage seems to tell the contrary.


The kilobyte is a base 10 measurement, so 1 kilobyte = 10 to the power of 3 = 1000 bytes.

Although this is not quite accurate to exactly measure physical data as they are stored in binary which is measured in base 2, and thus the kibibyte was established in 1999 to replace kilobyte when used in computer science context to mean 1024 bytes.

Kibibyte is a base 2 measurement, so 1 kibibyte = 2 to the power of 10 = 1024 bytes.

The same applies to megabyte (1 megabyte = 10 to the power of 6 = 1000000 bytes), which the base 2 measurement is mebibyte (1 mebibyte = 2 to the power of 20 = 1048576 bytes)

  • (1) applies to megabyte
  • (2) and (3) is not accepted
  • (4) applies to mebibyte