The reason for the difference is that Hard Disk makers use the "decimal gigabyte" because it makes their drives sound bigger. File sizes, memory size, etc are usually measured using the "binary gigabyte" which is larger.
(1) decimal gigabyte...
1 Gigabyte = 1,000,000,000 bytes
(2) binary gigabyte
1 Gigabyte = 1,073,741,824 bytes
Seagate says my hard drive is 320 GB, but Windows sees it as having 298 GB.
It's normal.