〜Infinity我的问题是它如何计算为-1。
〜无限= -1
console.log(~Infinity);Run Code Online (Sandbox Code Playgroud)
因为
无限+无限=无限
console.log(Infinity+Infinity)Run Code Online (Sandbox Code Playgroud)
要么
无限-无限= NaN
console.log(Infinity-Infinity)Run Code Online (Sandbox Code Playgroud)
~Infinity输出是如何到达的-1;
在IEEE 754浮点数中,Infinity常数由所有分数位都设置为0的值表示。在计算按位补码(~一元运算符)时,将其强制为32位整数值,则得到的只是零,因此补码全为1位,即-1。
正无穷大为:
01111111111100000000000000000000000000000000000000000000000000000
Run Code Online (Sandbox Code Playgroud)
(给定或取零)。符号位为0,指数均为1,尾数均为0。