JS &、|、^和~、~~(邏輯位運算符)移位運算符

邏輯位運算符&、|、^和~文章鏈接

http://c.biancheng.net/view/5469.html

 

原文  ~ 運算符在文章中的配圖有誤(截止2020-2-7)

位非運算實際上就是對數字進行取負運算,再減 1

~5=-6

(計算方式大致如下)

5在計算機中的值:0000 0101(正數的原、反、補是一樣的)

取反後:1 1111 1010(這是一個負數,反碼=補碼+1)

補碼:1 1111 0101(那麼補碼=反碼-1)

原碼:1 0000 1010(十進制爲-6)


 

~~它代表雙非按位取反運算符,如果你想使用比Math.floor()更快的方法,那就是它了。需要注意,對於正數,它向下取整;對於負數,向上取整;非數字取值爲0,它具體的表現形式爲:

~~null;      // => 0
~~undefined; // => 0
~~Infinity;  // => 0
--NaN;       // => 0
~~0;         // => 0
~~{};        // => 0
~~[];        // => 0
~~(1/0);     // => 0
~~false;     // => 0
~~true;      // => 1
~~1.9;       // => 1
~~-1.9;      // => -1

移位運算符(<<、>>和>>>)

http://c.biancheng.net/view/5471.html

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章