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

Categories

0 votes
481 views
in Technique[技术] by (71.8m points)

javascript - How ~(tilde)Infinity becomes -1

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

~Infinity= -1

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

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

1 Answer

0 votes
by (71.8m points)

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...