I often asked this question : "My internet speed is 1Mbps, how come I have to spend 1 minute to download 5MB file? It should take only 5 seconds, right? Is my internet provider cheating?"

I can understand this confusions, as this bandwidth measurements thingy is indeed quite confusing.

Computer storage system using the Byte unit to state size of a media. 1 Byte is equal 1 character in a file.
For example: text "hello world" contains 11 characters (10 letter and 1 space) so computer requires 11 Bytes to store it.

1 Byte is arranged by 8 bits. Or in other word, 1 byte is equal to 8 bits.
1 Kilo Bytes (1KB) is equal to 1024 Bytes
1 Mega Bytes (1MB) is equal to 1024KB
Take notice, the B is upper case.

Internet bandwidth (or commonly referred as speed) is measured by how many bits can be transferred in a second and the measurement unit is bps (stands for bits per second). Take a notice that the b is lower case.

Here is the root of the confusions: people often do not realize that kbps is actually kilo bit per second, not kilo Byte per second,
(To add more confusions, 1Kbps is equal to 1000kps, not 1024! So is 1Mbps, equals to 1000Kbps).

So this answers the above  question. 5MB file is equal to 5 x 1024 x 1024 x 8 bits = 41,943,040 bits. If the internet bandwidth is 1Mbps, the required time to download 5MB file is 41,943,040 / (1 x 1000 x 1000) = 41,943,040/1,000,000 = 41.94 seconds. Not 5 seconds as we might thought.

Internet service providers take advantage of these facts. This is understandable, any good salesman will use the highest number to promote their products. The problem is none of the ISP care to give any explanation to consumers.