1、什么是位运算?
位运算就是直接对整数在内存中的二进制位进行操作,只针对与int类型进行操作。
2.常见的位运算符号
2.1按位异或运算(符号:^ )
运算规则如下:
1 ^ 1 = 0
0 ^ 0 = 0
1 ^ 0 = 1
0 ^ 1 = 1
规律:二进制位相同则零,不同则1
2.2.按位与运算(符号:& )
运算规则如下:
1 ^ 1 = 1
1 ^ 0 = 0
0 ^ 0 = 0
1 ^ 0 = 0
规律:二进制位均为1时取1,否则取0
2.3.按位或运算(符号:| )
运算规则如下:
1 ^ 1 = 1
1 ^ 0 = 1
0 ^ 0 = 0
1 ^ 0 = 1
规律:二进制位均为0时取0,否则取1
2.4.取反运算(符号:~)
对应的每个二进制位取反,0变1,1变0,例如:
二进制数 | |
7 | 0111 |
~7 | 1000 |
注意:符号位也取反,~7 = -8
2.5.左移运算(符号:<< )
一个数左移n位就是该数乘以2的n次方。
例如:0001<<3 (3是左移的位数)
即 : 0001——>1000 = 8
2.6.右移运算(符号:>> )
一个数右移n位就是除以2的n次方
例如:0100>>2(2是右移的位数)
即:0100——>0001 = 1