It's ALL about binary, there are 1024 bits in a Kbit because 1024 = 2^10 (2 to the power of 10) then, there are 1024 kbit in a Mbit for the same reason, that leads to 1024x1024=1,048,576bits, and a further 1024 Mb in a Gb which is 1058576^2=1,073,741,824

the 1024 comes about because with 10 BInary digiTS (bits) there are 1024 possible combinations of different ones and zeros, i.e. 1001011100 or 0011011100, from 0000000000 to 1111111111.

The discrepancy comes in to play because the K and M and G in Kb Mb and Gb are SI (metric) units and are base ten meaning they represent 1,000/1,000,000/1,000,000,000.

Recently, the binary notation standard has been changed to Kib, Mib, and Gib. Mebbi-bit and Gibbi-bit *but only some people do it*.

If you read the fine print on hard drive boxes and other components, you'll see it says 1GB=1,000,000,000 bytes, or something similar.

also there are always 8 bits (b) in a byte (B), so when you look at something like download speeds, and see 50Mb/s or 50Mbit, you can assume it will take about 8 seconds to download an 50MB (megabyte) file...