【笔记】C语言按位运算符
前言
C语言按位运算符
按位取反运算
- 所有位取反
1 | 1001 1001 |
1 | num = ~num; |
左移运算符
- 左移1位,最低位补0
1 | 1001 1001 |
1 | num << 1; |
右移运算符
- 右移1位,最高位补0
1 | 1001 1001 |
1 | num >> 1; |
按位与运算
- 有0则0,全1为1
1 | 1001 1001 |
1 | num = num & 0b10101010; |
按位或运算
- 有1则1,全0则0
1 | 1001 1001 |
1 | num = num & 0b10101010; |
按位异或运算
- 不同为1,相同为0
1 | 1001 1001 |
1 | num = num ^ 0b10101010; |
按位同或运算
- 相同为1,不同为0
1 | 1001 1001 |