javascript tutorial - [Solved-5 Solutions] What is javascript’s highest integer value that a number can go to without losing precision ? - javascript - java script - javascript array




Problem:

Is this defined by the language? Is there a defined maximum ? Is it different in different browsers ?

Solution 1:

They are 64-bit floating point values, the largest exact integral value is 253-1, or 9007199254740991. In ES6, this is defined as Number MAX_SAFE_INTEGER. Note that the bitwise operators and shift operators operate on 32-bit ints, so in that case, the max safe integer is 231-1, or 2147483647. Test it out!

var x = 9007199254740992;
var y = -x;
x == x + 1; // true !
y == y - 1; // also true !
// Arithmetic operators work, but bitwise/shifts only operate on int32:
x / 2;      // 4503599627370496
x >> 1;     // 0
x | 1;      // 1

click below button to copy the code. By JavaScript tutorial team

Solution 2:

From the reference: alert([Number.MAX_VALUE, Number.MIN_VALUE]);

Solution 3:

It is 253 == 9 007 199 254 740 992. This is because Numbers are stored as floating-point in a 52-bit mantissa. The min value is -253. This makes some fun things happening

Math.pow(2, 53) == Math.pow(2, 53) + 1
>> true
click below button to copy the code. By JavaScript tutorial team

And can also be dangerous :)

var MAX_INT = Math.pow(2, 53); // 9 007 199 254 740 992
for (var we = MAX_INT; we < MAX_INT + 2; ++i) {
    // infinite loop
}

 
click below button to copy the code. By JavaScript tutorial team

Solution 4:

In javascript, there is a number called Infinity examples:

(Infinity>100)
=> true

//also worth noting
Infinity - 1 == Infinity
=> true

Math.pow(2,1024) === Infinity
=> true

click below button to copy the code. By JavaScript tutorial team

Solution 5:

ECMAScript 6:

Number.MAX_SAFE_INTEGER = Math.pow(2, 53)-1;
Number.MIN_SAFE_INTEGER = -Number.MAX_SAFE_INTEGER;

click below button to copy the code. By JavaScript tutorial team

Related Searches to javascript tutorial - What is javascript’s highest integer value that a number can go to without losing precision?

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add wikitechy.com to your ad blocking whitelist or disable your adblocking software.

×