跳到主要内容

按位与

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));