c/C++二进制运算符

时间:2021-10-18 13:49:32

  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补充.