I once read somewhere why it's 1024 and not 1000. apparently is has to do with this:
The Decimal System is a base 10 number system that uses ten digits (0,1,2,3,4,5,6,7,8,9).
1000 is attained as follows:
1 x10 = 10 x 10 = 100 x 10 = 1000 (kilo)
The Binary System is a base 2 number system that uses only two (bi) numbers or digits (0 and 1) to represent all values.
The unit closest to 1000 is attained as follows:
1 byte x 2 = 2
x 2 = 4
x 2 = 8
x 2 = 16
x 2 = 32
x 2 = 64
x 2 = 128
x 2 = 256
x 2 = 512
x 2 = 1,024 bytes (1 kilobyte), or expressed as 2^10.
Hope this helps clear the confusion.