Is a “kilobyte” 1024 bytes, or 1000? The traditional answer is 1024. [Just an aside: “tradition” for a field that has only been around for a few decades. Chuckle.] The metric system, which defined the “kilo-” prefix to mean 1000, has been around since the 18th/19th century. This is a little confusing, but some people claim that it doesn’t matter since “everybody knows that computer measurements refer to the binary prefixes” (where kilo=1024, mega=1024*1024, etc.) So how does one interpret something like the PCI bus specification’s “133.33 megabytes per second”? Does this mean 133,333,333 bytes or 139,810,133 (133.33*1024*1024)? If you think the ~5% discrepancy doesn’t matter, think about this: If you were a circuit designer charged with implementing this “specification”, would the precise definition of a megabyte be important to you? (Assuming that you wished to keep your job, the answer would be “YES!”)
To solve this problem, the IEC published their prefixes for binary multiples in November of 2000. The general form of these prefixes uses the first two letters of the metric prefix followed by “bi” (for “binary”), e.g. ki[lo]+bi[nary]=kibi, explicitly referring to 1024. Wikipedia has a very handy table in their article on computer bytes giving corresponding metric and binary prefixes.
One of the arguments against these more specific terms is that very few people know about them, so here I stand on my tiny soapbox, trying to correct this problem. Quick, Sancho! Hand me my lance!