Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
101
rated 0 times [  102] [ 1]  / answers: 1 / hits: 18521  / 10 Years ago, fri, march 14, 2014, 12:00:00

JavaScript uses IEEE 754 for storing numbers, for both integer and floating point values, where 53 bits are used for representing the mantissa and 11 bits are used for representing the exponent.



The maximum value representable with a signed 53 bit integer is ±9007199254740992, and the maximum value representable with a signed 11 bit integer is ±1024.



However, Number.MAX_VALUE in JavaScript is 1.7976931348623157e+308. Why isn’t it 9007199254740992e+1024, which is possible to represent with 64 bits and is the larger value?


More From » ieee-754

 Answers
22

The AeB syntax mirrors scientific notation and hence means A * 10^B, not A * 2^B. The maximum binary64 value is 9007199254740992 * 2^1024 (or something like that), not 9007199254740992 * 10^1024. Your proposed 9007199254740992e+1024 means the latter and is much larger (10^1024 ~= 2^3402), so it doesn't actually fit in a 64 bit binary float (try it!).


[#71996] Wednesday, March 12, 2014, 10 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
sherryd

Total Points: 254
Total Questions: 92
Total Answers: 89

Location: Equatorial Guinea
Member since Sun, Feb 14, 2021
3 Years ago
;