位操做符

全部數值都是轉化爲二進制機器碼保存在內存中。內存

負數一樣以二進制碼存儲,但使用的格式是二進制補碼。可是顯示給咱們的是一個負號和這個數值絕對值的二進制碼。計算一個二進制的補碼須要三個步驟:二進制

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)

相關文章
相關標籤/搜索