位操做符

全部数值都是转化为二进制机器码保存在内存中。内存

负数一样以二进制码存储,但使用的格式是二进制补码。可是显示给咱们的是一个负号和这个数值绝对值的二进制码。计算一个二进制的补码须要三个步骤:二进制

1.求这个数值绝对值的二进制码;

2.求二进制反码,便是讲0替换成1,1替换成0;

3.获得的二进制反码加1。

按位非(NOT)

var num1 = 25;    //    0000000**00011001

var num2 = ~num1;  //111****11100110

alert(num2);            //-26

这里,对25执行按位非操做,结果获得了-26。这也验证了按位非操做本质:操做数的负值减1.所以,下面的代码也可能获得相同的值。

var num1 = 25;

var num2 = -num -1;

alert(num2); //-26

按位与(AND)

相关文章
相关标签/搜索