Informally, many people think of a Kb as 1000 bytes, a Mb as 1000 Kb, a Gb as 1000 Mb, a Tb as 1000 Gb.
But technically, these are all powers of 2.
So a Kb is 2 to the 10th power = 1024 bytes
A Mb is 2 to the 20th (1024 x 1024) = 1,048,576 bytes, or 1024Kb
A Gb is 2 to the 30th (1024 x 1024 x 1024) = a large number of bytes, or 1024Mb
A Tb is 2 to the 40th (1024 x 1024 x 1024 x 1024) = a really large number of bytes, or 1024Gb
Where you get the 1024 vs. 1000 apparent discrepancy is from the meanings of "kilo" (times 1 thousand), "mega" (times 1 million), "giga" (times 1 thousand million), etc.
So a "kilogram" is "1000 grams". A "megaton" is 1000000 tons. But a "kilobyte" is 1024 bytes. Not confusing at all, huh? This is because us engineers like things nice and neat, in powers of two. So we mandated that since a "byte" is kind of engineering-computer-geek-like, it would have to follow the powers of two rule, rather than the standard counting rule.
If you ask a normal person to count, they go: "1, 2, 3, 4, 5, 6, 7, 8, 9, 10"
If you ask an engineer/computer geek to count, they go: "0, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024"