Cartoon - What's Up With The Kb?
Written by Alex Armstrong   
Sunday, 10 June 2012

In these days of Terabyte disc drives it hardly seems worth arguing over the difference between 1024 and 1000 bytes - but it does make a difference.

This week's xkcd cartoon makes fun viewing, but it makes sense only if you understand how we count in binary - or don't.

 

Kilobyte

 

There are lots of reasons why a kilobyte of anything is 1024 and not 1000. The best reason is that if you are working with memory the amount of memory that you can address doubles each time you add an address line or address bit. So with one ad dress bit you can select one of two locations. With two address bits you can select one of four and so on:

 

Number of bits Max size of memory
1 2
2 4
3 8
4 16
5 32
6 64
7 128
8 256
9 512
10

1024

 

So now you can see where 1024 comes from. It is also 210 and the closest power of 2 to 1000, which is the unit we ten-fingered machines like to work with.

In particular 1kB of memory is 1024 memory locations except during a leap year as the cartoon suggests. But joking aside, why should 1kB ever be understood as 1000 bytes?

The answer is that disk drive manufacturers suddenly started to report the size of disks using 1000byte kilobytes.

Why?

Well, see if you can guess why.

Consider a hard disk which offers 1 GByte of storage. If you stick to the binary definition of 1 kByte this should be

1024*1024*1024 of storage, or 1,073,741,824 bytes.
It would be if you were buying a computer that had 1GByte of memory, but for a disk drive 1GByte=1000*1000*1000=1,000,000,000.  So that means using the decimal definition leaves you short of 73,741,824 Bytes or more than 70 MBytes of storage. 

If you repeat the calculation for 1 TByte of disk storage you will discover that there are over 92 GBytes missing - which is quite a lot of storage.

Now perhaps the Drivemaker's kilobyte line in the cartoon table makes more sense.

But what about the Intel kilobyte. This is a reference to the Pentium FDIV bug which affected the Intel p5 Pentium floating point unit,  due to missing entries in the lookup table used by the digital divide operation algorithm and produced incorrect results.

Some other questions to that need dealing with.

Who is Kelly-Bootle?

He wrote a funny book called The Devil's DP Dictionary which contained lots of strange definitions relating to "data processing", the term given to hardware and software before it became IT. If you are interested, there are a handful of the original book, now over 30 years old, on Amazon and a newer edition, The Computer Contradictionary, is still available.

And finally, for anyone not familiar with the term "Baker's Dozen", it is the practice of baking 13 loaves when only 12, i.e. a Dozen, were called for. Hence a Baker's Byte would have 9 rather than 8 bits, perhaps counting the parity bit.

 

Further Reading

Binary Arithmetic

Computer Memory and Pigeonholes

 

To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin,  or sign up for our weekly newsletter.

 

Banner

 


The PostgreSQL Extension Repo By Pigsty
09/12/2024

A repository containing any PostgreSQL extension you can imagine for Linux distributions is something that might be valuable if you are trying to save some time.



AWS Releases Lambda SnapStart For .NET Functions
10/12/2024

Amazon has released new services for AWS Lambda SnapStart,  Amazon's performance optimization that aims to significantly improve the startup time for applications.


More News

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

<ASIN:0070340226>

<ASIN:0262611120>

 

Last Updated ( Sunday, 25 October 2015 )