位运算
- 判断是否为 2 的幂
(num & (num-1)) == 0
- 判断一个数是否为偶数
(num & 1) == 0
- 将一个数乘除 2
// 乘2 num << 1 // 除2,注意是否需要最高位,否则用 >>> num >> 1
- 将一个数的二进制状态下最右边的 1 变成 0
num = num & (num - 1)
- 将一个字符改变大小写
ch = (char)(ch ^ 32)
树
- 完全二叉树叶节点个数
//(总的节点数 + 1) / 2 取整 int count = (n+1)/2
其它
- 32 位 int 的最大值的量级为 \(2 \times 10^9\)
- 64 位 long 的最大值的量级为 \(2 \times 10^{18}\)
辅助记忆 2*9 = 18