JavaScript Bitwise运算符如何工作?

时间:2013-02-20 17:58:41

标签: javascript operators

我知道bitwise运算符是Bitwise Not,意味着1变为0而0变为1

但我的问题与以下内容有关:

var c = 5.87656778;
alert(~c);

提醒-6

var c = 5.87656778;
alert(~~c);

警告5

有人可以对此有所了解吗?

2 个答案:

答案 0 :(得分:5)

基本上,它通过截断小数部分将数字转换为整数,并对该整数表示执行常规的按位运算。

MDN对此有一些非常好的documentation

 5 in binary is = 00000000000000000000000000000101 =  5
                  --------------------------------
~5 in binary is = 11111111111111111111111111111010 = -6

答案 1 :(得分:0)

它们都适用于32位有符号整数。除了零填充右移,>>>适用于32位无符号整数。

因此任何浮点数都会通过截断转换为整数。