Blog

Much ado about 24 bytes

Sometimes in life there are questions with no clear answers. How many bytes in a kilobyte is one of those questions. Is it 1000 or 1024? It really depends on whom you ask. For better or worse we chose to use 1000 for a kilobyte and for 1024 we chose the IEC standard kibibyte. Read on for why we came to this decision.

There is no proper definition for a kilobyte. Most people think it’s 1024 bytes, however a number of organizations (IEC, IEEE, ISO, Drive Manufacturers, etc..) claim 1000. So we are left with a tough choice. Pick the value people expect or pick the value that the standards suggest. We’ve had similar questions to this in the past (like how many days in a year?) and I’ve always gone the way of the standard bodies. In this particular case, I thought long and hard about which way to go. I personally prefer a 1024 byte kilobyte, however if we had done that, what would we have called a 1000 byte block? Well, turns out that there is no alternative name for a 1000 bytes other then a kilobyte. On the other hand, a kibibyte is recognized as a 1024 byte block without any sort of ambiguity. So given all of that, I think the 1000 byte kilobyte was the least worst choice we could make.

Now I think one could argue that maybe the kilobyte should’ve been disabled and the kibibyte should be enabled by default. Of course the problem there is we’d end up getting a million emails with, “Where’s kilobyte?” or “What’s a kibibyte?” Maybe we should’ve just split the difference and used a 1012 byte kilobyte, so everyone would complain.

Retweet this Article

13 Comments:

Permalink
  • ian said:
  • April 20th, 2009

I really wish there was a toggle for this in the apps config, ie: calculate kilobytes as kibibytes. That way I could have it my way anyway and forget that the kibi prefix ever existed, like it should be :-)

Please consider this. I think you could avoid a lot of fuss this way.

Thanks

Permalink

First of all… I really adore both of your products, I am actively using them both and I can’t sing their praises enough. Bravo!

If I can make one feature request… It would be really nice to have a unit conversion to calculate the percent of a number. When I go shopping for my family, it would be really nice to calculate discounts of items to know how much off I am getting (e.g. how much off do I get if something is 20% off, etc). I would be very grateful if you could include that in a future release.

But like I said, totally awesome app… beautifully done, and very useful.

Cheers,

Matthew Workman

Permalink
  • Jason P said:
  • April 21st, 2009

@Matthew,

Some simple maths is all you need. If you’ve got 20% off, then do the price*0.2 in the calculator app (and so on and so forth) and if you want to work out the percentrage saving, do the new price over the old price, and then times the result by 100.

(new/old)*100 = percentage of original

Permalink
  • Apfhex said:
  • April 21st, 2009

I disagree with the decision, because nearly everyone and everything uses kilobyte = 1024 and that IS what’s expected, regardless of the so-called standards. But I understand the reasoning behind the decision. Unfortunately, I didn’t know this was how it worked until I read this blog and would have been very confused at Convertbot’s conversions otherwise. A note somewhere would have been cool.

Permalink
  • ian said:
  • April 21st, 2009

I still say you should let the user choose how they want their kilobytes calculated. This should be fairly easy to implement.

Permalink

I now understand the thinking – as pointed here by @tapbots – but I disagree. I expect 1024 and the 1000 seems wrong, but I do follow your decision process.

I doubt I’ll use it much as converting bytes to kilo-, meta-, giga- or terra- isn’t a common thing for me. Or if it is it’s using 1024 …

Permalink
  • Jasper said:
  • April 24th, 2009

This is something that really annoys me – mainly because you (and, in my experience, the OS) expect 1024 blocks, but you get 1000 so your drive always looks small.

I’ve never heard of a kibibyte – thanks for the reading material!

Love your apps, too :)

Permalink
  • Jon said:
  • April 25th, 2009

I also support the user preference of kibibyte vs. kilobyte calculation, because converting by a factor of 1000 is neither hard to do in the head – nor is it something I would need, since I (and most of the people out there) am not in the hardware/storage manufacturing business.
But give us a preference please, so that we have the choice of going the correct or the incorrect way!

Permalink
  • kc! said:
  • April 25th, 2009

Please add my vote to at least have an option to enable a 1024-sized unit of measurement for data. If for nothing more than the fact that adding by multiples of 1000 can be done in my head whereas units of 1024 seem to be a bit more difficult for me.

Permalink
  • Rob said:
  • April 26th, 2009

Kilo, Mega, Giga, etc. have all meant powers of two, until the hard drive manufacturers decided to pull the wool over our eyes and inflate the capacity of the drives by “cleverly” hijacking kilo, mega, giga, etc. to mean powers of 10. It’s just the usual marketing hucksterism.

Permalink

A preference for would helpful. KiB and MiB looks wrong to me ;) For now, I disabled the Kilo, Mega, Giga and enabled the others.

Permalink

I second Jon’s comment that converting by a factor of 1000 is straight forward for anyone, but for the less capable that can’t do it in their head, they can just use a calculator instead. No need for a dedicated converter.

It makes much more sense to me to have a converter for 1024.

Permalink

Why was the rationale “what is expected vs. what do standard bodies claim”, and not the obvious “what does every single machine and OS out there report to the user”?

Your conversor now effectively claims a different figure than what the user will see in any possible scenario.