C语言按位运算符

时间:2021-10-28 14:33:16

C语言按位运算符

  1. 二进制反码或按位取反:~

一元运算符~是逐位将1变为0,0变为1

Eg:  ~(1001 1010)

Result:(0110 0101)

  1. 按位与:&

二元运算符&是逐位比较两个运算对象,生成一个新值.对每一个位上来说,只有当全为1时,才为1,否则为0;(也就是全真为真,一假则假)

Eg:   (1001 0011) & (0011 1101)

Result:(0001 0001)

  1. 按位或:|

二元运算符|是逐位比较两个运算对象,生产一个新值。对每一个位上来说,当有一个为1时,就为1,否则为0.(也就是一真则真,全假为假)

Eg:   (1001 0011) & (0011 1101)

Resylt:(1011 1111)

  1. 按位异或:^

二元运算符^是逐位比较两个运算对象。对于每一个位,总有相异为1,相同为0;

Eg:   (1001 0011) & (0011 1101)

Resylt:(1010 1110)