按位逻辑运算符〜

时间:2014-08-17 13:57:35

标签: javascript bit-manipulation

enter image description here

我的问题是当做出否定时它是如何变成-6的?

编辑:让我们这样说,如果我们需要在2的补码上代表6,那么它应该是110.但是在上面的第2行中有' 4294967290'使用cal Here 转换后的(十进制)值 那怎么可能是-6呢?

1 个答案:

答案 0 :(得分:1)

您称之为否定是严格的位反转,但JavaScript中的十进制值作为二进制补码处理。

所以你基本上需要' ~5 + 1'得到等同的表示为' -5'。

  

在二进制补码表示中,正数仅表示为自身,负数表示为绝对值的二进制补码

有关详细信息,请参阅http://en.wikipedia.org/wiki/Two's_complement