c/C++二进制运算符
c/c++中常用的二进制运算符有六个.这里对这六个做简单的介绍和应用举例.
1. & : 与操作.作用于两个二进制数,当然也可以对整型数据进行操作(当两边为整型数据会自动转化为二进制数).二进制与用来对位进行置零或者复位.如果两个值进行二进制与,只有当两个对应的位都为1时结果位上为1,其他情况都为0.如下:
01011001 & 00101001
结果为:00001001
2. | :或操作.和1的与操作类似.用来合并值.只有当两个对应位都为0,结果位为0,其他情况都为1.例如:
01011001 | 00101001
结果为:01111001
3. ^ :异或操作.这个运算符当两个值在某一位上相同时结果位为0,不同结果为1.如一个是1一个是0,结果位是1;两个都为1或者0结果位是0;例如:
01011001^00101001
结果为:01110000
4.~ :求补操作.这个运算符只对一个二进制数据进行操作,对该数每一位取反,即1变为0;0变为1.例如:
~01011001
结果为:10100110
最后两个为移位操作符.这两个操作符用来对一个值中的位左移或右移某个特定数字的位数.">>"右移操作."<<"左移操作.例如:
01011001>>2 01011001<<2
结果为:0010110 01100100
用来填补两端空出来的位的数字会根据操作系统的不同而有所不同,一般情况下都是用0补充.