Snow Leopard's new math

I did OK in math. Took a year of calculus in college. Got a B and two A’s, if I recall correctly. (It’s all about getting a good professor.) But math is not my favorite subject, and if you were to ask me to do a quadratic equation today, I’d give you the lemon face.

This is my roundabout way of saying that some of the math Apple uses in Mac OS X has changed in Snow Leopard. Particularly, the method Mac OS X uses to describe a file's size. It has to do with how you define a kilobyte, megabyte, and gigabyte.

Believe it or not, these words have had two meanings for a long time. The first meaning relates to computer science. Everything in computer science is about exponential counting. Like this:

2 4 8 16 32 64 128 256 512 1024 2048

Do those numbers look familiar? There’s a reason the iPhone comes in 16GB and 32GB models, and the original Mac came with 128K of RAM and the model after that had 512K.

Now think about this amount: 1024MB of RAM. That’s what we could call 1GB. Because to think in exponential terms, one gigabyte should be made up of 1024 megabytes.

But here’s the catch—and the source of the second meaning for those terms. Most non-computer types don’t think in terms of 1024s. They think in terms of nice, round numbers. And 1000 is a nice, round number.

So you’ve got two groups, each using the same word to mean different things mathematically. Madness! Which is why when you go to your Mac, select your hard-drive icon, and choose Get Info, you’ll see that your “250GB hard drive” claims to have a capacity of 238GB. Which is it?

There are, believe it or not, now two sets of entirely different terms for these two ways of thinking. For example, a gigabyte, or GB, is now defined as 1,000 bytes cubed, or 1,000,000,000 bytes. A gibibyte, or GiB, is equal to 1024 bytes cubed, or 1,073,741,824 bytes. (The same rules apply for megabyte and mebibyte, which are defined as 1000 bytes squared and 1,024 bytes squared, respectively.)

Wake up, you in back! Because here’s where Snow Leopard comes in. In previous versions of Mac OS X, Apple used the 1024^3 definition of GB. Rather than keep that math and start calling it GiB, Apple has started using the 1000^3 definition.

That's why one of the QuickTime movies we use in our Speedmark tests, weighing in at 252,916,507 bytes, appeared as 241.2MB in Leopard but as 252.9MB in Snow Leopard.

The file hasn’t gotten bigger. It’s the same number of bytes. It’s just a different kind of megabyte being used to measure it now. (And in terms of us regular human beings who haven’t cracked a calculus book since the spring of 1993, it makes more sense—a long number that starts in 252,916should be 252.9 MB. Dividing by nice, round numbers is easy!

For those of you who can divide by 1024 in your heads, my apologies. You can still calculate things in mebibytes and gibibytes if you want. But you won’t have the Get Info window to kick around anymore.