javascript rodada inteira grande porque precisão? (porque?

se você digitar 78764357878563812 no chrome ou no safari, obterá

Se você fize

for(var i = 0; i < 30; i++){console.log(i + " == " + 78764357878563800 + " ? ");console.log((78764357878563790+i) == 78764357878563800);}

Você começa a comparar valores de 78764357878563790 a 78764357878563790 + 29, então ... como você vê se o executa, é verdadeiro i = 8 a 24.

Então, eu não sei se eu não entendi, mas não deveria existir o maxint (que eu não sei) e um maxint-1 ??? e então max seja diferente de maxint-1?

Suponho que seja uma precisão como números flutuantes ... mas isso não deve atingir apenas números flutuantes e, por exemplo, o número + 1 sempre dá o sucessor? (no exemplo acima, se i = 78764357878563790 e adicionar i ++, insira um loop infinito.

Eu sei de antemão que esse tipo de espaçamento entre números existe para pontos flutuantes, mas nunca atingiu um caso em que também os números inteiros não possam representar i + 1 e i-1 (sempre achei que maxint não assinado + 1 carregaria e daria 0) .

uaisquer perguntas em:

qual é o número máximo e qual é o número anterior em js.como lidar com ou saber quando esse comportamento para números inteiros começará a acontececomo lidar com esses números grandes e mais grandes do que isso seria bom.

questionAnswers(2)

yourAnswerToTheQuestion