C语言按位逻辑运算符总结-与、或、非、异或

C中有按位逻辑运算符:按位取反、按位与、按位或、按位异或。这4个运算符可以用于整型,包括char类型。按位操作针对每一个位进行操作,不影响左右两边的位。4个运算符的作用总结如下:

一、按位取反

1.运算符:~

2.作用:把1变为0,把0变为1

3.示例

表达式~(10011010)

结果值 (01100101)

二、按位与

1.运算符:&

2.作用:按位比较两个运算对象,生成新值

(1)对于每个位:只有两个运算对象相应的位都是1,结果才是1

(2)对于真假:只有两个位都是真,结果才是真

3.示例

表达式:(10110110) & (11001100)

结果值:(10000100)

4.按位与和赋值结合运算符&=

val &= 100;等价val = val & 100;

三、按位或

1.运算符:|

2.作用:按位比较两个运算对象,生成新值

(1)对于每个位:如果两个运算对象中的相应的位为1(一个位为1或两个位为1),则结果为1

(2)对于真假:如果两个运算对象的相应一个位为真或两个位都为真,则结果为真

3.示例

表达式:(10110110) | (11001100)

结果值:(11111110)

4.按位或和赋值运算符结合|=

val |= 100;等价val = val | 100;

四、按位异或

1.运算符:^

2.作用:按位比较两个运算对象

(1)对于每个位:如果两个运算对象中相应的位一个为1(不是两个为1),结果为1

(2)对于真假:如果两个运算对象中的一个位为真且不是两个位同为1,则结果为真

3.示例

表达式:(10110110) ^ (11001100)

结果值:(01111010)

4.按位异或和赋值运算符结合^=

val ^=100;等价val = val ^ 100;

你可能感兴趣的:(笔记,c语言,算法)