459,717 Members | 1,233 Online Need help? Post your question and get tips & solutions from a community of 459,717 IT Pros & Developers. It's quick & easy.

# Maximum number

 P: n/a Hi, What is the maximum number in JavaScript? I tried a large number like 0xff...ff with 30 fs, it still gives me a number, not an infinity. I use IE6. Thanks. Jul 20 '05 #1
4 Replies

 P: n/a ym*@kicon.com (chirs) writes: What is the maximum number in JavaScript? I tried a large number like 0xff...ff with 30 fs, it still gives me a number, not an infinity. I use IE6. Javascript uses IEEE-754 double precission floating point numbers. From the ECMAScript standard: --- ... of them are normalised, having the form s × m × 2^e where s is +1 or -1, m is a positive integer less than 2^53 but not less than 2^52, and e is an integer ranging from -1074 to 971, inclusive. --- That means that the maiximal number representable as a Javascript number is 1 * (2^53-1) * 2^971 == 2^1024 - 2^971 In hexadecimal, that is: 0xfffffffffffff80000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000 (256 hexadecimal digits) Writing that hexadecimal number into Javascript, makes it output this notation: 1.7976931348623157e+308 If you add one more bit, changing the "8" to a "c" in the hexadecimal notation, Javascript gives "Infinity". Only that bit matters, changing later bits is simply ignored. That is 0xfffffffffffffbffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffff ffffffffffffffffffffffffffffffffffffffffffffffffff ffffffff gives the same result as the above, because all the extra one-bits are lost due to lack of precission, and they are rounded down. /L -- Lasse Reichstein Nielsen - lr*@hotpop.com Art D'HTML: 'Faith without judgement merely degrades the spirit divine.' Jul 20 '05 #2

 P: n/a Thanks a lot for the message. IEEE-754 double precission floating point numbers are 64 bits. But how can it use 64 bit number field to store 256 hex digits? Jul 20 '05 #3

 P: n/a ym*@kicon.com (chirs) writes: Thanks a lot for the message. IEEE-754 double precission floating point numbers are 64 bits. But how can it use 64 bit number field to store 256 hex digits? It doesn't. It only stores 53 significant bits, and then it uses some more bits to tell how many zeroes comes after those. That is why Math.pow(2,52) != Math.pow(2,52)+1 but Math.pow(2,53) == Math.pow(2,53)+1 It needs 54 bits to represent 2^53+1 precisely. Since there are only 53 bits available, the least significant bit is lost. (There are some extra details about how the bits are really used, but I think they would only confuze matters here :) /L -- Lasse Reichstein Nielsen - lr*@hotpop.com Art D'HTML: 'Faith without judgement merely degrades the spirit divine.' Jul 20 '05 #4

 P: n/a JRS: In article <4c**************************@posting.google.com >, seen in news:comp.lang.javascript, chirs posted at Sat, 4 Oct 2003 12:38:24 :-What is the maximum number in JavaScript? I tried a large number like0xff...ff with 30 fs, it still gives me a number, not an infinity. Iuse IE6. The maximum value of an object of type Number, etc., is about 1.7E308, as the native number representation is as an IEEE Double. But a programmer is free to construct entities using a different notation, and to do arithmetic differently : function BigFac(J) { var L = 0, k for ( k=1 ; k<=J ; k++ ) L += Math.log(k) L *= Math.LOG10E return Math.exp((L%1)/Math.LOG10E) + 'E' + Math.floor(L) } function TryBig() { document.write('Thus 3333! = ', BigFac(3333), '<\/tt>') } gives : Thus 3333! = 1.8497400355653586E10296 All integers up to and including 2^53 = 9007199254740992, and their negatives, can be represented exactly. -- © John Stockton, Surrey, UK. ?@merlyn.demon.co.uk Turnpike v4.00 IE 4 © Jim Ley's FAQ for news:comp.lang.javascript JS maths, dates, sources. TP/BP/Delphi/JS/&c., FAQ topics, links. Jul 20 '05 #5

### This discussion thread is closed

Replies have been disabled for this discussion. 