Snow Leopard changes how file and drive sizes are calculated

<p>When you ask most non-geeks how many "bytes" are in a "kilobyte", after thinking about the root of the prefix "kilo" they might tell you "one thousand", and be both right and wrong at the same time.</p>

CNET staff
5 min read

Written by Topher Kessler

When you ask most non-geeks how many "bytes" are in a "kilobyte", after thinking about the root of the prefix "kilo" they might tell you "one thousand", and be both right and wrong at the same time.

In English "one thousand" is definitely correct, but in computers the definition is based on numbers being calculated by powers of 2, so the number "kilo" has actually been 1024. This is because the closest value to 1000 that you can get with a "power of 2" calculation is 2^10, which is 1024. To get a megabyte you would calculate 2^20, with gigabyte being 2^30, etc.

The problem with the computer definition is that in English it is wrong. It deviates from the English definition of kilo, mega, and giga, which are based on powers of 10 (10^0, 10^3, 10^6, etc.) instead of powers of 2. Geeks have been confusing the rest of the world for quite some time with this.

There is really no reason for this difference besides it just being convention to use powers of 2 in computing. The computer itself does not account for the number of bytes on the disk as being in powers of 2, but someone a long time ago decided to count items on a computer disk in this manner. As such, the use of "powers of 2" in defining prefixes is only a convention for labeling the number of bytes a file contains. Altering this convention to agree with English could have been done at any time; however, for some reason it just stuck this way for a lot of the computing industry (including Apple).

Another bizarre computer convention

Another odd convention in computers is many things begin at 0. For instance, in most programming languages the beginning index of an array is 0 instead of 1, so when you are referencing the first location in an array you are calling the "0th" position in the array instead of the "1st" position. In English, calling the 0th position means you are calling the "lack of" a position. Despite their intelligence, geeks can be rather illogical at times.

In Snow Leopard, Apple has changed this convention and redefined "kilo", "mega", and "giga" in the system software to be their English definitions. As such, drive and file sizes will be calculated to be a slightly larger number than what they currently are.

For example, if you had a drive that your old Leopard system said was 100GB, based on the computer notation convention it would actually have the capacity of 107,374,182,400 bytes (100*2^30) and not the inferred 100,000,000,000 bytes (100*10^9) as the prefix "giga" describes in English.

With a drive that has exactly 100GB available on it in OS X 10.5 "Leopard", upgrading to Snow Leopard would have the system report the drive as 107.3GB (making it appear to be a full 7 GB larger), even though nothing has been done to the drive itself.

What does this all mean? For all intents and purposes it means absolutely nothing! It does not change anything in how the computer runs, or how efficient it is at storing items on the drive. It has not compressed any of your data or somehow altered it to "free up" any more space. Rather, it just means that everything will be reported as being slightly larger than they used to be, with the amount of difference depending on the prefix being used (the larger the prefix, the greater the percent difference).

Still confused? Take a look at the following chart:

              10.5 "Leopard"                  10.6 "Snow Leopard"

  prefix      old calc.    old definition     new calc.    new definition     % difference

  ----byte    2^0          1                  10^0         1                  0
  kilobyte    2^10         1024               10^3         1000               2.40
  megabyte    2^20         1048576            10^6         1000000            4.86
  gigabyte    2^30         1073741824         10^9         1000000000         7.37
  terabyte    2^40         1099511627776      10^12        1000000000000      9.95

The chart above compares the old calculation with the new calculation, and shows the percentage difference between the two calculations for some common prefixes (kilo, mega, giga, etc.). As such, if you are on OS X 10.5 and are looking at a file who's size is being reported in kilobytes, in OS X 10.6 the file would be reported as being 2.4% larger. Likewise, if you are looking at a drive's capacity in OS X 10.5 and it is being reported in terabytes, in OS X 10.6 the drive size would be reported as 9.95% larger.

Overall, the files themselves are still the same number of bytes, but the definitions being used in the reporting of those numbers of bytes has changed.

For people who are still worried about what is going on, the best thing is to just not think about it and use your system. The only thing to keep in mind is if you have a 100MB file on a system running Leopard and you move it to your new system running Snow Leopard, the system will now report the file as being 104.8MB in size. That's it! If you move the file back to Leopard it will appear as 100MB again (the keyword here is "appear").

Read more about the change in file size and drive capacity reporting in 10.6 in this Apple knowledgebase document: http://support.apple.com/kb/TS2419

Questions? Comments? Send us feedback: http://www.macfixit.com/contact
Be sure to check us out on Twitter and the CNET Mac forums.

Topher has been an avid Mac user for the past 10-15 years, and has been a contributing author to MacFixIt for just over a year now. One of his diehard passions has been troubleshooting Mac problems and making the best use of Macs and Apple hardware both for family and friends, as well as in the workplace. He and the newly formed MacFixIt team are hoping to bring enhanced and more personable content to our readers, and keep the MacFixIt community going here at CNET. If you have questions or comments for Topher or the other MacFixIt editors, feel free to contact us at http://www.macfixit.com/contact


  • http://support.apple.com/k...
  • http://www.macfixit.com/co...
  • Twitter
  • CNET Mac forums
  • More from Late-Breakers