位操作符

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

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

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)

posted @ 2017-09-28 10:35  仙人掌的成长  阅读(136)  评论(0编辑  收藏  举报