bit operation

位运算基础

console.log((10).toString(2)) // 1010
console.log((8).toString(2)) // 1000

// 与 &, 两个位都是 1 时,结果才为 1,否则为 0
console.log((10 & 8).toString(2)) // 1000

// 或 |,两个位都是 0 时,结果才为 0,否则为 1
console.log((10 | 8).toString(2)) // 1010

// 异或 ^, 两个位相同则为 0,不同则为 1
console.log((10 ^ 8).toString(2)) // 0010

// 非 ~,取反运算,0 则变为 1,1 则变为 0
console.log((~10 + 1).toString(2)) // -1010
console.log((~8 + 1).toString(2)) // -1000

// 左移 <<
10 << 8

// 右移 >>
10 >> 1

判断奇偶

// 奇数
n & 1 === 1

// 偶数
n & 1 === 0

Math.floor(n / 2)

n << 1
Copyright © tomgou 2022 all right reserved,powered by Gitbook该文章修订时间: 2022-01-14 14:17:01

results matching ""

    No results matching ""