我知道bitwise
运算符是Bitwise Not,意味着1变为0而0变为1
但我的问题与以下内容有关:
var c = 5.87656778;
alert(~c);
提醒-6
var c = 5.87656778;
alert(~~c);
警告5
有人可以对此有所了解吗?
答案 0 :(得分:5)
基本上,它通过截断小数部分将数字转换为整数,并对该整数表示执行常规的按位运算。
MDN对此有一些非常好的documentation。
5 in binary is = 00000000000000000000000000000101 = 5
--------------------------------
~5 in binary is = 11111111111111111111111111111010 = -6
答案 1 :(得分:0)
它们都适用于32位有符号整数。除了零填充右移,>>>
适用于32位无符号整数。
因此任何浮点数都会通过截断转换为整数。