The free-space list is implemented as a Bit map in which Each block is represented by 1 bit. If the block is free, the bit is 1; if the block is allocated, the bit is 0.
here block size is 1KB.
Edit: got confused block size with number of blocks.
so number of blocks here= 40GB/1KB
= 40 M blocks
and 1 block requires 1 bit
so 40 M block requires 40 M bit= 5 MB.