The whole issue with naming conventions for these things is that they walk this middle ground between base ten and base two. After all, the number 1000 and the associated prefix "kilo" mean ABSOLUTELY NOTHING in base 2. There is absolutely nothing special about that number, but since powers of 10 are very important in the decimal system, we already have those terms ready to go. Since we grow up learning decimal, we have an intuition about what "a thousand times larger" means, so we kind of *get *what a kilobyte means. As it turns out, there is a power of 2, 1024, which is very close to 1000, so we kind of fudge it and use "kilobyte" to tap into that decimal intuition that we have. The fact that 1024 is the 10th power of 2 is merely a coincidence - after all, a decimal "10" is a totally meaningless number in binary. What's EVEN CRAZIER THOUGH is that the system breaks down when talking about megabytes. A megabyte is defined as a straight million bytes, which is slightly LESS than a thousand kilobytes. This trend also holds true for gigabytes.

But I digress...

So consider this: as it is now, a kilobyte represents 2^10 bytes of information. That means that 2 kilobytes represent (2^10) * 2 bytes, or 2^11 bytes, or more importantly, since we're often worried about how many bits we need to make available (like for a bus), there are (2^11) * (2^3) = 2^14 bits. Pretty simple!

Now imagine a dark, dark world where a kilobyte is 1000 bytes. That's 2^9 + 2^8 + 2^7 + 2^6 + 2^5 + 2^3 bytes (512+256+128+64+32+8). So, in base 2, how many bits of information are represented by 2 kilobytes? Quite the headache!

In any base system, multiplying or dividing by a multiple of your base is very simple - it just entails moving the decimal point a certain number of places. It's why you can tell me 100 * 143 almost instantly but would have to think about 419 * 143. Both of those numbers are *ugly* in base 10, just as 1000 is ugly in base 2.

Log in to comment