按位与
2024年03月11日
一、认识
x & y
,会将两个十进制数在二进制下进行与运算,然后返回其十进制下的值。
二、规则
两个位都为1时,结果才为1
三、语法
3.1 &
let x = 1
let y = x & 8
console.log(y)
运算过程
1 => 0000 0000 0000 0000 0000 0000 0000 0001
8 => 0000 0000 0000 0000 0000 0000 0000 1000
& => 0000 0000 0000 0000 0000 0000 0000 0000
0000 => 0
3.2 &=
let x = 1
x &= 8
console.log(x)
运算过程
1 => 0000 0000 0000 0000 0000 0000 0000 0001
8 => 0000 0000 0000 0000 0000 0000 0000 1000
& => 0000 0000 0000 0000 0000 0000 0000 0000
0000 => 0
四、场景
4.1 奇偶
判断奇偶,等同于 num%2==0
/**
* num&1=0 为偶数
* num&1=1 为奇数
*/
let num=3;
if(num&1==0){
console.log(num+'为偶数');
}else{
console.log(num+'为奇数');
}
4.2 类型组合
const A = 1 << 1;
const B = 1 << 2;
const C = 1 << 3;
const AB = A | B;
console.log("AB",AB);
console.log("A & AB",!!(A & AB));
console.log("B & AB",!!(B & AB));
console.log("C & AB",!!(C & AB));