So there are two ways (in common use) of denoting orders of magnitude to make large numbers easier to read, first you can use a power of 10.

10⁰ = 1
10¹ = 10
10² = 100
10³ = 1000

Or powers of two

2⁰ = 1
2¹ = 2
2² = 4
2³ = 8

Using these series as a base we arrive at the numbers 1000 and 1024 (10³ and 2¹⁰) for a kilo.

There are eight bits to a byte. So one Kilobyte is 8×10³ = 8000 bits. Hard drive manufacturers use this method. In computer science, people usually use powers of two, so one Kibibyte is 8×2¹⁰ = 8192 bits.

The difference only gets larger as the numbers get larger. Some have even mixed those two systems to get nice numbers to put on their packaging. This is why a 1.44MB Floppy Disk has neither 1.44 megabytes nor 1.44 mebibytes (they use 1024×1000).

The logic behind the i is that the terms are derived from the original si prefixes, kilo, mega, giga, but with the word Binary put in in. So the i is the second letter of binary. The mnemonic for the Kibibyte is “Kilo Binary Byte”.

All of this is defined in the IEC_80000 Standard.

Note that a Mebibyte is not defined as 2²⁰, but as (210)2, although they are equal. A Gibibyte is (210)3, a Tebibyte is (210)4 and so on.

Prefix       Bytes                    Prefix       Bytes
1 Byte     = (2^10)^0 = 1             1 Byte     = (10^3)^0 = 1
1 Kibibyte = (2^10)^1 = 1024          1 Kilobyte = (10^3)^1 = 1000
1 Mebibyte = (2^10)^2 = 1048576       1 Megabyte = (10^3)^2 = 1000000
1 Gibibyte = (2^10)^3 = 1073741824    1 Gigabyte = (10^3)^3 = 1000000000
1 Tebibyte = (2^10)^4 = 1099511627776|1 Terabyte = (10^3)^4 = 1000000000000

Ubuntu uses IEC prefixes because the SI prefixes have traditionally been used unpredictably, as shown by the Floppy example; and because the aforementioned standard requires it.

http://askubuntu.com/questions/22102/meaning-of-i-in-mib