binary (which computers use) does not use these figures. a long time ago someone figured it would be easiest if they used the metric prefixes for the numbers that come close e.g. 1024 (2^10) bytes is one kilobyte.
manufacturers advertise one gigabyte as being 1,000,000,000 bytes. it is not. a gigabyte is 1024x1024x1024 bytes or 1,073,741,824 bytes. divide 20,000,000,000 by that number and i guarantee it will give you ~18gb