There is a difference between Mb and MB.
b stands for bit, B stands for byte. A Byte is 8 bits.
The M stands for Mega, meaning One Million. So:
Mb means megabit, or one million bits,
MB means megaByte, one million bytes
So. A connection that gives you 40mbps means:
40/8*1000000 = 5MB/s
One GB is One Billion Bytes, or 1000 MB's.
So. 150GB at 40mbps.
150.000.000.000 bytes = 1.200.000.000.000 bits
40.000.000 per second, so 1.200.000.000.000 / 40.000.000 = 30.000 seconds.
60 seconds per minute, so: 30.000/60 = 500 minutes
60 minutes per hour, so 500/60 = 8,33 hours, so eight hours and twenty minutes.
So, turn off your energy saving things, turn off the monitor and set it to download before you go to sleep/work, come back and play.
Now, this is a little inaccurate, because the M *actually* stands for 1024 and not 1000 - but using 1000 makes it far easier to calculate. Your connection will never be *that* stable, but it's a good prediction, nevertheless.
Wait. I made a mistake somwehre, this isn't right. I'll work this out before you flamewar me. Edit again: Actually.. Nope, this was accurate.