运算符号 | 含义 | 运算对象类型 | 运算结果类型 | 对象数 | 案例 | 描述 |
~ | 位逻辑非运算 | 整型,字符型 | 整型 | 1 | ~A | 按位取反运算符是一元运算符,具有"翻转"位效果,即0变成1,1变成0,包括符号位。 |
& | 位逻辑与运算 | 2 | A & B | 如果同时存在于两个操作数中,二进制 AND 运算符复制一位到结果中。 | ||
| | 位逻辑或运算 | 2 | A | B | 如果存在于任一操作数中,二进制 OR 运算符复制一位到结果中。 | ||
^ | 为逻辑异或运算 | 2 | A ^ B | 如果存在于其中一个操作数中但不同时存在于两个操作数中,二进制异或运算符复制一位到结果中。 | ||
>> | 位右移运算 | 2 | A >> B | 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 | ||
<< | 位左移运算 | 2 | A << B | 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 |
位运算符
位运算符作用于位,并逐位进行操作
1. 位逻辑非运算 ~
位逻辑非运算只有一个运算对象,对运算的值进行非运算.
即:如果某一位是1,就转变成0,如果某一位是0,就转换成1
比如:二进制的10000100进行位逻辑非运算是,结果就是01111011,转换成10进制就是:~123等于-124
将二进制中1和0互相转换,1就转换成0,0就转换成1
2.位逻辑与运算 &
位逻辑与运算是两个运算对象进行与运算
即:1与1等于1,1与0等于0,0与0等于1,0与1等于0
例:二进制10010010 & 01101010 等于 00000111
3.位逻辑或运算 |
位逻辑或是两个运算对象进行或运算
即:1或1等于1,1或0等于1,0或0等于0
例:二进制10010010 | 01101010 等于 11111010
4.位逻辑异或运算 ^
位逻辑异或是两个运算对象进行异或运算
即:1异或1等于0,1异或0等于1,0异或0等于0,位数值相同得0,不同得1
例:二进制10010010 ^ 01101010 等于 11111000