JS的位运算符的一些用法
2019-09-30 本文已影响0人
住在醉翁亭边
用按位与(&)判断奇偶数
奇数用二进制表示,最后一位永远是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
}