I should have been specific about the storage; memory in a computer, RAM or ROM, would usually be specified in powers of 2, 1024 multiplies as it matters to computers. Flash memory cards that emulate disks are usually/should be multiplies of 1000.
Flash memory might be used in place of disks, but it's built using a semiconductor grid with binary address lines. So its size is naturally a power of two -- or at least each block is.
It's interesting to note that Samsung, for example, offers SSDs in both power of ten and power of two sizes!
Samsung 960 Evo 500GB M.2 (2280),NVMe SSD R/W(Max) 3,200MB/s/1800MB/s ,330K/330K IOPS
SSD Capacity: 480 GB
Samsung 960 Pro 512GB M.2 (2280),NVMe SSD R/W(Max) 3,500MB/s/2100MB/s ,330K/330K IOPS
SSD Capacity: 512 GB
The Pro has the same binary capacity as it's binary power model number, while the Evo has less binary capacity than its model number.
But ... 500,000,000,000 bytes is only 465.66 GB, not 480. So something else is going on there.
Some space is hidden from user to extend the life of the SSD.
Flash memory is arranged in chunks (sectors) of 512 bytes or some small value like that, and then multiple sectors are grouped into pages, let's say 128 - 512 KB in size.
With Flash memory, you can write sectors , but you can't overwrite them. In order to write over a sector, you have to erase it but you can't... you can only erase a whole page of 128-512 KB and the flash memory can only be erased a limited number of times.
For SLC NAND, each page can be erased maybe 10k times, for MLC you're down to 2k-4k depending on manufacturing (lower the nm process, the lower the erase cycles) and for TLC you can be down to 500-1000 erase cycles.
So the SSD controller tries to delay erasing pages as much as possible, whenever a 512b - 1kb sector needs to be overwritten it just writes the data into some other sector in another page and marks that sector as "can be erased". At some later time, when the SSD controller has no very few empty sectors to write data to, or during idle time, it scans the pages and finds pages with a huge number of "can be erased" sectors, it copies the other sectors with data to other pages and then erases the whole page wasting one of those erase cycles, and making the sectors in that page available to be written to.
So in order to reduce the erase cycles, the SSD controller uses some of those GB of flash hidden to shuffle sectors in those pages instead of being forced to erase pages to make sectors writable. It makes it possible to delay erasing pages as much as possible. For example, you are sold a 240 GB SSD (with powers of 1000) which has 256 GiB of actual memory (powers of 1024) so there's 256 x 1024x1024x1024 / 240 x 1000 x 1000 x 1000 = 34,877,906,944 = ~ 33 GB used to extend the life of the SSD.
Also some ssd controllers and some nand chips can configure a part of their memory in a pseudo-slc mode for example Sandisk has some SSD drives where a 240-256 GB SSD with MLC memory has around 10 GB of "SLC memory" ... basically from each of the 8-16 x 32-64 GB MLC chips, a portion of around 2-4 GB MLC where each cell stores 2 bits, is configured to store only 1 bit per cell, making around 0.75-1GB of pseudo-SLC memory. These portions will have higher endurance, let's say from 2-4000 erase cycles to around 6-8000 erase cycles
So if the SSD applies this technique, a 240 GB SSD will have 256 GB of MLC inside but not necessarily 30ish of GB as spare, maybe only 16-20 the rest being reconfigured as SLC memory and used usually as write buffers to achieve higher throughput when writing to it (the controller prefers writing to the slc portion and then when idle moves sectors from that portion to other regular areas)