Добавление к Number.MAX_VALUE

Ответ на этот вопрос может быть до боли очевиден, но я не могу найти его ни в документации Mozilla, ни в Google при беглом поиске.

Если у вас есть код, подобный этому

Number.MAX_VALUE + 1; // Infinity, right?
Number.MIN_VALUE - 1; // -Infinity, right?

, то я ожидаю, что добавление чего-либок Number.MAX_VALUE подтолкнет его к Infinity. В результате просто Number.MAX_VALUEплюнул мне в ответ.

Однако, играя в консоли Chrome JS, я заметил, что на самом деле он не стал Infinity, пока я не добавил/вычел достаточное количество:

Number.MAX_VALUE + Math.pow(100,1000); // now we hit Infinity
Number.MIN_VALUE - Math.pow(100,1000); // -Infinity at last

Чем объясняется этот «буфер» между Number.MAX_VALUEи Infinity?

13
задан kennytm 31 May 2012 в 16:37
поделиться