title: javascript large integer round because precision? (why?)
body: <p>If you do</p>
  <pre><code>for(var i = 0; i &lt; 30; i++){console.log(i + &quot; == &quot; + 78764357878563800 + &quot; ? &quot;);console.log((78764357878563790+i) == 78764357878563800);}
  </code></pre>
  <p>You start comparing values from 78764357878563790 to 78764357878563790+29, so... like you see if you run it, you get true from i = 8 to 24.</p>
  <p>So I don't know if I don't get it, but isn't supposed to exist the maxint (which I dont know) and a maxint-1??? and then max be different than maxint-1?</p>
  <p>I suppose this is precision like floating numbers... but that isn't supposed to only hit floating numbers and for example, number+1 always gives the successor? (so in the example above, if i = 78764357878563790 and add i++, then you enter an infinite loop.</p>
  <p>I know before hand that this type of spacing between numbers exist for floating points, but never hit a case where also the integers cant represent i+1 and i-1 (I always thinked that unsigned maxint + 1 would carry and give 0).</p>
  <p>Any suguestions in:</p>
  <ul>
  <li>which is the max number and what is the anterior number in js.</li>
  <li>how to handle or know when this behaviour for integers will start happening.</li>
  <li>how to handle this large numbers and more big than this would be nice.</li>
  </ul>