Board Thread:Off-Topic/@comment-4353179-20150317002649/@comment-9531161-20150330190104

It's because kilo means 1000 in scientific units, so in terms of SI, kilobyte (like kilogram or kilometer) means 1000. However, in the computer world (the world we care about), computers don't work in base 10 but rather base 2, which means it's easier to use the closest power of 2 that gives us 1000. This is 2^10, which is 1024. Similarly, a megabyte is 2^20 bytes, which is 1048576 (not 1000000).

It all gets confusing because we use kilo (which means 1000) to mean two things. If you want to be correct in terms of standards, it'd be 1000, but if you told a computer you wanted 1000 bytes, it'd think you wanted .98 kilobytes instead of exactly 1. Similarly, if you asked a computer for 1024 bytes, it'd think you wanted exactly 1 kilobyte instead of 1.02

In this case, since we're dealing with a program file size, we'd always use the 1024 version to measure the size. File sizes, disk sizes, memory sizes, etc. all use the 1024 version. Although if we were dealing with network speeds, we'd measure it in terms of 1000, 1000000, etc. (another complication which is unnecessary but unfortunately we're stuck with for now).