C语言按位运算符
- 二进制反码或按位取反:~
一元运算符~是逐位将1变为0,0变为1
Eg: ~(1001 1010)
Result:(0110 0101)
- 按位与:&
二元运算符&是逐位比较两个运算对象,生成一个新值.对每一个位上来说,只有当全为1时,才为1,否则为0;(也就是全真为真,一假则假)
Eg: (1001 0011) & (0011 1101)
Result:(0001 0001)
- 按位或:|
二元运算符|是逐位比较两个运算对象,生产一个新值。对每一个位上来说,当有一个为1时,就为1,否则为0.(也就是一真则真,全假为假)
Eg: (1001 0011) & (0011 1101)
Resylt:(1011 1111)
- 按位异或:^
二元运算符^是逐位比较两个运算对象。对于每一个位,总有相异为1,相同为0;
Eg: (1001 0011) & (0011 1101)
Resylt:(1010 1110)