2013-09-27 10 views

Antwort

14

In einem einfachen Test, wenn ich versuche, dies:

var max = Number.MAX_VALUE; 
var x = max + 10; 

var min = Number.MIN_VALUE; 
var y = min/10; 

Ich finde, dass x und max den gleichen Wert haben (in Chrome, IE und Firefox), so scheint es, dass Überläufe nur an den maximalen Wert gebunden sind. Und y wird an 0 gebunden, so dass Unterläufe auf Null zu gehen scheinen.

Demo: http://jsfiddle.net/jfriend00/hH3pT/

+0

Ich habe versucht mit -Nummer.MAX_VALUE und sie sind auch gleich. Also kein Zurück zu Minimum und Maximum .... – JVerstry

+0

Info für Unterlauf auch hinzugefügt. – jfriend00

+4

Noch 'Number.MAX_VALUE * 2' ergibt 'Infinity'. "Geh Figur", wie sie sagen. –

3

Die Maximal- und Minimal ist +/- 9007199254740992

this Versuchen:

alert([Number.MAX_VALUE, Number.MIN_VALUE]); 

Von here: -

Beachten Sie, dass alle positiven und negativen ganzen Zahlen, deren Größe nein größer als 2 sind rep resensable in der Zahl Art (in der Tat, die Integer 0 hat zwei Darstellungen, +0 und -0). diese

Test: -

var x = 9007199254740992; 
var y = -x; 
x == x + 1; // true ! 
y == y - 1; // also true ! 
+0

Ok, aber wie funktioniert JS Griff Überlauf und Unterschreitungen? – JVerstry

+2

Ich glaube nicht, dass dies tatsächlich die Frage des OP beantwortet. – jfriend00

+0

@ jfriend00: - Meine Antwort mit einem Link aktualisiert, der helfen kann. Korrigiere mich, wenn ich das Offensichtliche komplett vermisse !!! :) –