# 64 ain’t enough

It seems a great deal to have 64 bits to address memory.

Take the integer value of 264 = 18446744073709551616: that’s more than 18 followed by 18 zeros, or 18 exa (mega, M = 106; giga, G = 109; tera, T = 1012; peta, P, 1015; exa, E, 1018).

One can say that if your 32-bit address space were a the volume of a drop of water (1 mm3), then the 64-bit address space is a sphere of 5.7 km diameter.

The number 264 is also related to that legend on the creation of the game of chess where the inventor asked as reward the number of grains of wheat that you can count on a  chessboard if one grain were placed on the first square, two on the second, four on the third and so on, doubling the number of grains on each subsequent square. It turns out that the resulting amount of wheat is larger than a thousand years of today’s world production !

Or, you just need 44 bits to address each dollar in the current U.S. National Debt: 13.9 1012 \$ (about 14 teradollars); and it will take some time to use all the bits, since the current trend is doubling (i.e. one additional bit) every 8 years, so 64 bits should be enough for 160 years.

But if you try to address every single molecule in a drop of water (1 mm3 = 1 g = 1/18 mol so 1/18th of the Avogadro constant NA or 3.34 1022) then you’ll see that you are missing a few bits ! Actually to represent NA = 6,022141793 1023 1/mol = 602 zetta/mol (zetta, Z, 1021) as an integer, you’ll need 75 bits. Quite remarkably, 275 is very close to NA: 275 / NA = 1.003.

So we can say that computer science and finance still haven’t catched up with chemistry. 