A kilobyte is 1024 bytes. Exactly.
Unfortunately, it’s never that simple.
In reality, a kilobyte can also mean 1,000 bytes. Exactly.
Because the prefix “kilo” actually means 1000 in systems used more often by humans than computers (like the metric system), people tend to use it as 1000 in tech, too. For example, a kilometer is 1,000 meters.
And, let’s face it, it’s easy to think of a kilobyte as “about” 1000 bytes.
Why 1024? Because computers think only in powers of two; when you think that way, that’s a “round number”. In binary, 1024 is represented as a one followed by 10 zeros (10000000000): a round number when you think only in powers of two.
1000 is a round number to us, but to computers, 1024 is 1111101000: not very “round” at all.
Why one followed by 10 zeroes instead of one followed by, say, 9? Basically because 1024 is closer to our more common definition of “kilo” being 1000 than 512 is.
But wait, it gets worse. The geek powers that be have created a new word – kibibyte – which means 1024 bytes and only 1024 bytes, to remove the ambiguity that is kilobyte.
It’s not catching on very quickly.
|Orders of magnitude of data|
In some areas of information technology, particularly in reference to solid-state memory capacity, kilobyte instead typically refers to 1024 (210) bytes. This arises from the prevalence of sizes that are powers of two in modern digital memory architectures.