1、位运算符和位运算
运算符 | 含义 | 运算符 | 含义 |
---|---|---|---|
& | 按位与 | ~ | 取反 |
| | 按位或 | << | 左移 |
^ | 按位异或 | >> | 右移 |
- 优先级:~ —><<、>> —>&、^、|
- 取反(~)技巧:
- 正数结果为
-(正数+1)
- 负数结果为
-(负数+1)
- `x=-(x+1)
- 正数结果为
- 左移运算符(<<)
- 用来将一个数的各位二进制全部
左移若干位
- 将所有的二进制数左移n位,
右侧补0
- 规则:左移n位就乘2n
- 用来将一个数的各位二进制全部
- 右移运算符(>>)
- 用来将一个数的各二进制全部
右移若干位
- 将所有的二进制数右移n为,
右端末尾舍弃
- 规则:左移n位就除以2n
- 用来将一个数的各二进制全部
2、复合位运算符
-
类型:&=、|=、^=、<<=、>>=
-
例如:
a&=b等价于a=a&b a>>=2等价于a=a>>2
3、位运算特点
0 | 1 | |
---|---|---|
按位& | 清零 |
不变 |
按位| | 不变 | 置1 |
按位^ | 不变 | 翻转 |