If you use JSON anywhere, I want you to try something. Pop open the developer tools in your web browser and ask it to tell you what the result of ‘Math.pow(2,60)’ is. Just stuff that there and look at what you get back. It’s a big number, right?

Now, using any other reference source, look up what 2 to the power of 60 is (hint: Wikipedia “power of two” if your Google search only gives you scientific notation). Compare it to what you got from your browser.

What did you find? I assume if you didn’t notice the “000” on the end of what your web browser told you before, you will now.

Feel free to try this with other large numbers. You should find that anything above 2^53 starts getting squirrelly.

Exactly WHY this happens is not important for this specific post - floating point, mantissa, yadda yadda. I’ve covered it elsewhere, but I don’t think people really appreciated it for the problem that it is. This method of approaching it should get the general concept around to a wider audience, or at least, I hope it will.