Lol

Its been like that forever with all storage media.
It's actually pretty simple stuff. Computers use a binary number system! Basically everything is 2 to the power of some number:
2, 4, 8, 16, 32, 64, 128, 256, 512 1024, 2048... and so on. If you look through that list you'll notice a few common computer numbers. (e.g. 512 mb of ram, ever wondered why its 512 not 500? or why 2Gb of ram is actually 2048 megabytes?).
So basically there are 1024 bytes in a kilobyte, 1024 kilobytes in a megabyte and 1024 megabytes in a gigabyte. So 500 gigabytes is actually 500 x 1024 megabytes which equals 512000 megabytes or 512000 x 1024 kilobytes which equals 524288000 kilobytes.
Now in the normal decimal system kilo means 1000, mega means a million etc.
So for example what the manufacturers sell is 640 gigabytes using the "decimal" giga, not the "binary" giga:
640 x 1000 = 640 000 "megabytes"
640000 x 1000 = 640 000 000 "kilobytes"
640 000 000 x 1000 = 640 000 000 000 "bytes"
BUT the computer reads this number in binary! So 640 000 000 000 bytes divided by 1024 = 625 000 000 kilobytes, not 640 000 000!
625 000 000 divided by 1024 = 610 351.56 megabytes
610 351.5625 divided by 1024 = 596.04 gigabytes.