On ‘Real’ Math vs ‘Fake’ Math by HMX

16 Sep 2009 Comments Off 236 views

How hard drive space has been a contentious issue for quite a while.  The issue is that when one purchases a 500GB or worse, a 2TB hard drive, they get home only to discover that their new drive shows up as anything but what it is listed as.  Some attribute this to hard drive manufactures using ‘fake’ – or base 10 – math to accurately represent the metric kilo, mega, giga and tera prefixes.  The confusion comes from the historic fact that at one point in time 210, a value of 1024, was approximated with the metric kilo prefix.  As I’m sure you are well aware, 1000(or 103 as implied by kilo) ≠ 1024(210).  When it was first used, the error involved ~2.34%.  For an 80MB hard drive, this was acceptable.  As hard drives increased into the 100s, 1000s and 1000000s of MBs, the error involved in this historic approximation became more and more pronounced as manufacturers stuck to the strict SI definition of each prefix while operating systems continued to rely upon base 2, or binary, definitions.

The astute reader might ask “What about media such as DVDs, CDs and flash”, or for that matter, system memory(aka RAM).  They report their listed capacities, but once again this isn’t technically the issue.  They continue to use metric prefixes, but they do so erroneously and it has no real bearing on why a hard drive of 500GB only shows up as ~465.66GiB.  Notice the prefix on the latter value: GiB.  This is the correct binary prefix, as defined by International Electrotechnical Commission, based on value 1024 instead of 1000.

So why all the hubbub over base 2 vs base 10 math?  Recently, Apple decided in fairness to consumers(and by definition of metric prefixes) to treat a kilo as 103, a mega as 106 and so on and so forth. This has caused some to question their motives instead of reading information readily available on the matter.  They make it out to be some nefarious ploy by Apple to make their systems appear more attractive by seeming to offer more space through the use of ‘fake’ math.  I wasn’t aware that base 10 was considered fake math, but I am thankful that I have been enlightened and can now proceed through the rest of my life relying only on base 2(’real’ math).

Not to make light of the situation, I can understand where the author is coming from and admit some initial hesitation in Apple’s claims that Snow Leopard was leaner(space wise) than Leopard and the true amount of reclaimed space.  I mean, on a 500GB hard drive, you are gaining nearly 45GB by switching from GiB to GB, right?  Well, not really as all storage is now calculated in base 10 so my music collection, apps and everything else grew by an appropriate amount to compensate for the new(not fake) math.  Case in point, VLC list the Mac, intel only, download of VLC at 17.8MB – that should be 17.8MiB for anyone keeping track – but Finder list the same file as 18.7MB and for the universal binary the difference is 28.7MiB vs 30.1MB.  Apple isn’t pulling a fast one on us and the reported space you gain is an actual gain.  There is nothing nefarious in Apple reporting a kilo as 1000 bytes, as the prefix dictates, and Apple isn’t even the first to do so.  When you purchase a drive of 500GB or 2 TB, you are getting just that, 500×109 bytes or 2×1012 bytes and to expect to get anything more is ludicrous. By the author’s accounting, we should be getting anywhere from 7–10% more free space because we insist on using improper calculations for properly labeled merchandise. Now if other OS vendors would properly calculate metric prefixes on base 10 instead of base 2, we could get on with our lives and not be bothered with frivolous law suits or misguided stories on how Company X is using ‘fake’ math to swindle consumers.

Todays take home lesson:

Base 10 (Metric)

Base 2(Binary)

kB

1000

KiB

1024

MB

10002

MiB

10242

GB

10003

GiB

10243

TB

10004

TiB

10244

PB

10005

PiB

10245

EB

10006

EiB

10246

ZB

10007

ZiB

10247

YB

10008

YiB

10248

Note: That should technically be base 1000 and base 1024, but hopefully you get the point.

Comments are closed.