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
}

你可能感兴趣的:(JS的位运算符的一些用法)