JS的位運算符的一些用法

用按位與(&)判斷奇偶數

奇數用二進制表示,最后一位永遠是1,偶數用二進制表示,最后一位永遠是0
按位與會在兩個數值的對應位都是1時返回1,任何一位是0,則返回0。
所以我們只要將要操作的數字與1進行按位與運算,就能知道該數字用二進制表示時,最后一位是1還是0。

25 = 0000 0000 0000 0000 0000 0000 0001 1001
1  = 0000 0000 0000 0000 0000 0000 0000 0001
---------------------------------------------
AND = 0000 0000 0000 0000 0000 0000 0000 0001   // 結果

num&1 = 1; // 奇數
num&1 = 0; // 偶數

使用按位異或來交換兩個數字

let a = 1;
let b = 2;
            
a^=b;
b^=a;
a^=b;
console.log(a, b) // 2,1

判斷一個數字是不是2的n次方

function isPowerOfTwo(num){
    return num&( num - 1 ) === 0 && num!== 0
}
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容