1.
& : 与 操作.
作用于两个二进制数,当然也可以对整型数据进行操作(当两边为整型数据会自动转化为二进制数).二进制与用来对位进行置零或者复位.如果两个值进行二进制与,只有当两个对应的位都为1时结果位上为1(同1结果为1,有0结果为0),其他情况都为0
.如下:
01011001 & 00101001
结果为:00001001
2.
| :或 操作.
和1的与操作类似.用来合并值.只有当两个对应位都为0,结果位为0(有1结果为1,同0 结果为0),其他情况都为1.
例如:
01011001 | 00101001
结果为:01111001
3.
^ :异或 操作.
这个运算符当两个值在某一位上相同时结果位为0,不同结果为1.如一个是1一个是0(相同为0
不同为1),结果位是1;两个都为1或者0结果位是0;
例如:
01011001^00101001
结果为:01110000
4.
~ :求补操作.
这个运算符只对一个二进制数据进行操作,对该数每一位取反,(即1变为0,0变为1).
例如:
~01011001
结果为:10100110
最后两个为移位操作符.这两个操作符用来对一个值中的位左移或右移某个特定数字的位数.
">>“右移操作.”<<"左移操作.
"<<"左移操作:向左移动n位,相当于原数乘以2的n次方;存在问题:左移可能改变一个数的正负;
">>"右移操作:向右移动n位,值等于原值除以2的n次方;
例如:01011001>>2 01011001<<2
结果: 0010110 01100100
1&单数结果为1
1&双数结果为0