JavaScript中按位操作
// 测试类型
const message = 'Hello world';
console.log(typeof message);
const num1 = 25;
const num2 = 20;
const num3 = 36;
// 按位非
console.log(~num1, ~num2, ~num3); // -26 -21 -37
// 按位与
console.log(25 & 3, 36 & 6, 20 & 1, 30 & 6); // 1 4 0 6
// 按位或
console.log(25 | 3, 20 | 1, 30 | 1, 30 | 2); // 27 21 31 30
// 按位异或
console.log(25 ^ 3, 26 ^ 3, 30 ^ 1, 32 ^ 2); // 26 25 31 34
// 左移
console.log(2 << 5, 6 << 2, 2 << 3); // 64 3072 16
// 右移
console.log(2 >> 1, 4 >> 0, 12 >> 2, 26 >> 1); // 1 4 3 13
// 无符号右移
console.log(2 >> 2, 24 >> 1, 20 >> 1); // 0 12 10
// 指数操作符
console.log(2 ** 2, 3 ** 2, 6 ** 2, 3 ** 3); // 4 9 36 27