Some drive manufacturers use a decimal billion (1,000,000,000) bytes as
a gigabyte, others use the 'binary billion' of 2^30 (1,073,741,824)
bytes as a gigabyte. Iomega is the one that springs most readily to
mind as using the decimal billion. However, so far as I am aware, all
operating systems use the binary billion which means that drives using
the decimal billion are shown with a lower space than that printed on
the box.
Also, all OSs retain a small proportion of the drive as free space which
you cannot use. Without this, if you filled the entire drive, disk
operations would grind to a halt and you would find it very hard to free
up any space to make the disk usable again.
I would guess that it is the first factor that is at work here as the
binary equivalent of a 40 (decimal) GB drive is 37.25 (binary) GB - very
close to the total space you are reporting. The reserved space is (I
think) usually around 5% of the total, or about 2GB, which would make
your reported space a little too low.