可能重复:
按位不理解 javascript
我在这里找到了它:下面的前端面试问题问题。这个代码~~3.14会返回什么?
我在谷歌上搜索,但没有找到任何关于此的内容。
~
是JavaScript(以及 C/C++ 和其他语言)中的按位补码运算符。您可以在此处找到更多详细信息:按位补码 (~) 运算符如何工作?
在这种情况下:
3.14
从浮点数转换为整数,所以变成3
.~3
是-4
因为二进制补码表示。~(-4)
变成3
。基本上,对于具有二进制补码表示的整数,~n
等于-n-1
。
它将返回 3.~
表示 JavaScript 中的按位 NOT 运算符。
基本上〜3.14与〜3相同,即二进制的〜011 => 100或以10为底的4。〜4或〜100是以10为底的011或3。