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.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…