StubsOnAsura the Magnificent wrote:
For the record:
1 kilobyte is 1024 bytes. It is this way because computers operate in binary (0, 1, 2, ... 1024) or base 2, not base 10. Therefore, each segment of memory or disk space is also addressed in base 2, and thus, a whole segment of anything in computer language would never work out to exactly 1000. It has been this way since the dawn of all things electrical (0 = off, 1 = on), and will likely not change.
The only reason the whole (1KB = 1000B) thing came along was because hard drive manufacturers didn't want to be concerned with the details of the actual math, and it was easier early on to provide disk space in base 10 numbers, especially given the lack of education of the general public on the matter. For some reason, this standard has never evolved, even though the general education level has.
That being said, there is a
concerted industry effort to eliminate this ambiguity. That is to say, 1 kilobyte is, and should be, 1000 bytes. 'Kilo' is an SI prefix that represents a factor of 1000 (10 to the third power). Early computer/electrical engineers commandeered the SI prefixes as approximations and they stuck.
The disambiguation is resolved by using the alternate 'kibi', 'mibi', 'gibi', etc prefixes that represent the binary equivalents of the SI prefixes. These are listed in Lubriderm's table. Unfortunately, the industry has been a bit slow in adopting this standard. I'm a proponent of this standard and use it my company's software.