1 位运算
1.1 常见位运算
- 与运算(&):对两个数的每一位进行与操作,只有当两个位都是 1 时,结果的相应位才是 1。
- 或运算(|):对两个数的每一位进行或操作,只要有一个位是 1,结果的相应位就是 1。
- 异或运算(^):对两个数的每一位进行异或操作,当两个位不同时,结果的相应位是 1。
- 取反运算(~):对一个数的每一位进行取反操作,1 变成 0,0 变成 1。
- 左移运算(<<):将一个数的二进制表示向左移动指定的位数,右侧用 0 填充。 左移n位,相当于原数乘上2的n次方。
- 右移运算(>>):将一个数的二进制表示向右移动指定的位数,左侧用原数的符号位填充。 右移n位,相当于原数除以2的n次方。
1.2 位运算的常见应用:
1. 判断数字a奇偶性
x&1;
2.获得二进制数a的第 i 位
x>>i&1;
3.修改二进制数a的第 i 位
//修改为1
x|(1<