A popular slide for conceptualizing how many addresses are in an IPv6 /64 (64 bits of network, 64 bits of host) claims that if you filled all five Great Lakes with M&Ms, that would be approximately 2^64 M&Ms.
While looking for an example of that slide to share to inform an IPv6 discussion, I saw a blog post that claimed that the math was all wrong and that it didn't come even remotely close to filling all five great lakes.
As the originator of that Fermi Question style assertion, (with the original fine print that it was almond M&Ms - it turns out that peanut M&Ms would be more accurate), I felt the need to correct the correction, and show my work.
To start with, discussions of things like sphere packing are a needless distraction. This is an order of magnitude problem. Bringing up things like lattice packing (common densities are 0.55 to 0.74) makes the math more difficult while not contributing to whether the answer is way out of line for this.
For the purposes of this discussion we will assume that an M&M is 1 cubic centimeter.
We'll be using dc(1), the arbitrary precision RPN calculator that comes free with Unix for all our calculations.
First, what is 2^64?
2 64 ^ p 18446744073709551616
Or approximately 1.844 x 1019
Next, we calculate the number of cubic centimeters in the Great Lakes. Our friends at epa.gov offer us the following in cubic kilometers:
|Lake St. Clair||n/a||n/a||n/a||4||4|
- Coordinated Great Lakes Physical Data. Coordinating Committee on Great Lakes Basic Hydraulic and Hydrologic Data. Chicago, IL and Cornwall, ON. p. 9. (1977).
- Large Lakes Ecological Structure and Function. Max M. Tilzer and Colette Serruya, eds. Springer-Verlag. Berlin-Heidelberg, p 26 (1990) [Derived from Inventory of the Morphometric and Limnological Characteristics of the Large Lakes of the World. Charles E. Herdendorf, The Ohio State University. Technical Bulletin OHSU-TB-17, Sea Grant Program. March 1984. p. 67.]
- Atlas of World Water Balance (Explanatory Text). USSR National Committee for the International Hydrological Decade, Leningrad, p 32.(1977)
- The Water Encyclopedia, 2nd Edition. F. van der Leeden, F.L. Troise and D.K. Todd. Lewis Publishers, USA. p. 188. (1990)
OK, so now we have 22573 km3 of water in the Great Lakes. 1000m in a km, so there are:
1000 1000 * 1000 * p 1000000000
m3 in a km3. In other words, 1 x 109 - only a billion cubic meters. Table stakes..
But we're not looking for cubic meters, we're looking for cubic centimeters.
100 100 * 100 * p 1000000
cm3 in an m3.
So now, to put it all together:
1000000 1000000000 * 22573 * p 22573000000000000000
or approximately 2.225 x 1019 vs 264 being 18446744073709551616 or approximately 1.844 x 1019
In other words, enough to fill the five Great Lakes and heap up a little bit. Application of sphere packing correction would tend to make the heaps taller, potentially by a fair amount, since it applies to imperfections of the fill and empty space in the lakes.
Once again, one should not attempt to eat 264 M&Ms of any type or flavor.