介绍
在JavaScript中“&&”和“||”是逻辑运算符;“&”和“|”是位运算符,今天主要讲一讲位运算。
JavaScript中的位运算符:“&”
运算方法:将十进制转换为二进制,两个二进制数值每个分别相与,同时为1才得1,只要一个为0就为0。
例如:
20 & 2
20的二进制是10100,2的二进制是10, 补位后为10100和00010,最终得出得出00000,结果为十进制0。
let a=20 & 2
// 10100和00010=00000
console.log(a); //0
22 & 2
22的二进制是10110,2的二进制是10, 补位后为10110和00010,最终得出得出00010,结果为十进制2。
let b=22 & 2
// 10110和00010=00010
console.log(b); //2
JavaScript中的位运算符:“|”
运算方法:将十进制转换为二进制,两个二进制数值对应的位只要有一个为1,那么结果都为1。否则就为0。
例如:
20 | 2
20的二进制是10100,2的二进制是10, 补位后为10100和00010,最终得出得出10110,结果为十进制22。
let c=20 | 2
// 10100 | 00010=10110 结果为十进制的22
console.log(c); //22
22 | 2
20的二进制是10110,2的二进制是10, 补位后为10110和00010,最终得出得出10110,结果为十进制22。
let d=22 | 2
// 10110 | 00010=10110 结果为十进制的22
console.log(d); //22
20.5 | 0
20.5的二进制是10100.1,0的二进制是0, 补位后为10100.1和00000,最终得出得出10100,结果为十进制20。
let e=20.5 | 0
// 10100.1 00000 10100 20
console.log(e);