答案 0 :(得分:5)
它将返回3. ~
表示JavaScript中的按位NOT运算符。
基本上~3.14与~3相同,其在二进制中是~011 =>基数为10或4。 基数10中~4或~100为011或3。
答案 1 :(得分:5)
~
是JavaScript(以及C / C ++和其他语言)中的按位补码运算符。
您可以在此处找到更多详细信息:How does the bitwise complement (~) operator work?
在这种情况下:
3.14
从浮点转换为整数,因此它变为3
。~3
为-4
。~(-4)
变为3
。对于具有Two's Complement表示的整数,基本上~n
等于-n-1
。
答案 2 :(得分:4)
波形符在将输入转换为32位整数后对输入执行bitwise NOT。
来自MDN:
按位注意任何数字
x
都会产生-(x + 1)
。例如,~5
会产生-6
。
在你的情况下:
~~3.14
= -((~3.14) + 1)
= -(-(3.14 + 1) + 1)
= -(-(3 + 1) + 1)
= -(-4 + 1)
= -(-3)
= 3