🔒 Closed Why can “megabyte” mean two different things?

Status
Not open for further replies.

9 yr old

Eternal Poster
Until the year 2000, when someone said “one megabyte”, in nearly all cases an actual value of 2^20, or 1048576 bytes was meant. There was a valid reason why these weird units were used. Especially in early computer systems, memory and hard disk sizes were often exact multiples of powers of two due to the way they are constructed. Because 2^10 = 1024, pretty close to 1000, 1024 bytes were referred to as a ‘kilobyte’, and similarly for ‘megabyte’ etc.

For the average user, however, the relevance of units tailored to grids of memory cells is null. Only when one buys a RAM module nowadays it will still have a size that is closely related to some power of two. Most other storage media have completely arbitrary sizes. This would not be problematic if it weren't for two major drawbacks of those units based on powers of two. First, they are cumbersome to work with for humans who have learnt to count in a 10-based system. How many Mebibytes fit in 1.78 Tebibytes? Use the calculator above and you'll see the answer is not the expected 1780000. Second and related, the ‘kilo’, ‘mega’, etc. prefixes conflict with the standard SI system where “one megaWatt” means 10^6, or 1000000 Watts. As the multipliers become larger, so does the discrepancy between their meaning in the SI system and the system based on powers of two.

To avoid confusion, in the year 2000 the IEC proposed a custom naming and notation scheme for the 2-based units. The new names were created by replacing the second syllable in the old name by ‘bi’ (referring to ‘two’). Therefore an old ‘kilobyte’ is now a ‘kibibyte’ and so on. The new (or rather old) units also got corresponding symbols, so ‘10 kibibyte’ is now written as ‘10 KiB’ instead of ‘10 kB’. The following table shows how the values differ for the two systems:

Full notation Symbol Value
  • 1 kilobyte 1 kB 10^3 = 1000 bytes
  • 1 megabyte 1 MB 10^6 = 1000000 bytes
  • 1 gigabyte 1 GB 10^9 = 1000000000 bytes
  • 1 terabyte 1 TB 10^12 = 1000000000000 bytes
  • 1 petabyte 1 PB 10^15 = 1000000000000000 bytes
  • 1 kibibyte 1 KiB 2^10 = 1024 bytes
  • 1 mebibyte 1 MiB 2^20 = 1048576 bytes
  • 1 gibibyte 1 GiB 2^30 = 1073741824 bytes
  • 1 tebibyte 1 TiB 2^40 = 1099511627776 bytes
  • 1 pebibyte 1 PiB 2^50 = 1125899906842624 bytes

The big problem is that even ten years later a lot of software and many people still refer to the base-2 units with their SI names. We seem to be stuck in a transition period where “megabyte” can mean either 1000000 bytes or 1048576 bytes. Due to the larger discrepancy between the SI and IEC units as they become bigger, the confusion also becomes bigger as hard drives become bigger. A gibibyte is 7.4% larger than a gigabyte and a tebibyte is 10% larger than a terabyte, which is pretty significant. Many people have complained that they bought a 250GB hard drive and their operating system only reported the drive as having a capacity of “232GB”. The manufacturers of the drive are not to blame and this is not “a lame marketing trick to make the drive seem bigger”. They really bought a 250 gigabyte drive, which is equivalent to a 232 gibibyte drive. Their operating system is to blame because it uses the wrong notation.

Some drive manufacturers try to hide this issue by putting silly disclaimers on their products that state “actual formatted capacity may be less”. True, some space is lost due to formatting but it is never in the order of 7.4%. If someone would sue a vendor of hard disks for misleading information they would lose the case anyway, because the definition of “giga” being 10^9 is an international standard while “giga = 2^30” is nothing more than a convention.

sourced from: You do not have permission to view the full content of this post. Log in or register now.
 
Status
Not open for further replies.

About this Thread

  • 10
    Replies
  • 344
    Views
  • 10
    Participants
Last reply from:
K i l l u a

Trending Topics

Online now

Members online
1,048
Guests online
1,896
Total visitors
2,944

Forum statistics

Threads
2,293,741
Posts
29,086,118
Members
1,207,944
Latest member
zandugoo
Back
Top