Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

~Infinity my question is how it evaluate to -1.

~Infinity= -1

console.log(~Infinity);
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
462 views
Welcome To Ask or Share your Answers For Others

1 Answer

In IEEE 754 floating point, the Infinity constant is represented by a value with all the fraction bits set to 0. When that's coerced to a 32-bit integer value in calculating the bitwise complement (the ~ unary operator), you get just zero, so the complement is all 1 bits, or -1.

Positive infinity is:

01111111111100000000000000000000000000000000000000000000000000000

(give or take a zero). The sign bit is 0, the exponent is all 1 bits, and the mantissa is all zeros.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...