位运算
位运算
位运算就是直接对整数在内存中对应的二进制位进行操作
名称 | 符号 |
---|---|
按位与 | & |
按位或 | | |
按位异或 | ^ |
按位取反 | ~ |
左移运算 | << |
右移运算 | >> |
1.按位与
按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0。
2.按位或
按位或运算符:只要对应的二个二进位有一个为1时,结果位就为1,否则为0。
3.按位异或
按位异或运算符:当两对应的二进位相异时,结果为1,否则为0。
4.按位取反
按位取反运算符:对数据的每个二进制位取反,即把1变为0, 把0变为1。
5.左移运算
左移动运算符:运算数的各二进位全部左移若干位,由"<<"右边的数指定移动的位数,高位丢弃,低位补0。
规律简单来说就是
下图就是c = a 2的5次方 相当于c = 60 22222 =1920
6.右移运算
右移动运算符:把">>"左边的运算数的各二进位全部右移若干位,">>"右边的数指定移动的位数
规律简单来说就是
下图就是c = a %2的2次方 相当于c = 60 %2%2=15