The explanation that &quot;base 2 is natural for memory&quot; makes absolutely no sense.<p><i>Base 2 prefixes make sense for memory because memory chips have a power-of-two capacity. Base 2 prefixes makes sense for address space because n bits can identify 2^n different addresses. Page sizes are base 2 because it allows for easy bit masking to select the page number and the address within the page. Bit masking is, in fact, one of the main advantages of base 2. So yeah, base 2 has its place.</i><p>We can make hard drives that have a base 2 capacity. We can make flash drives with that capacity. The reality is that we can pretty much make them any capacity we want. The fact that it&#x27;s convenient to calculate with base 2 capacities on a machine where it is most convenient to calculate with base 2 numbers comes as no surprise and is equally valid to any form of memory or storage medium.<p>That doesn&#x27;t make memory &quot;naturally base 2&quot;, of course. memcpy doesn&#x27;t stop working when I specify a size that isn&#x27;t a multiple of sizeof(int). We could work with non-base 2 memory capacity perfectly well while losing none of the performance.<p>So the author here ends up trying to make post hoc rationalizations for why some things ended up base 2 and other base 10 when really for any amounts the benefits he ascribes to base 2 memory apply.