(1)逻辑运算
逻辑非的优先级最高,逻辑与次之,逻辑或最低,即:!(非) → &&(与) → ||(或)

记忆口诀:not(非) and(与) or(或)

运算规则
1)&&:当且仅当两个运算量的值都为"真"时,运算结果为"真",否则为"假"。

2) || :当且仅当两个运算量的值都为"假"时,运算结果为"假",否则为"真"。

3) ! :当运算量的值为"真"时,运算结果为"假";当运算量的值为"假"时,运算结果为"真"。

例如,假定x=5,则(x>=0) && (x<10)的值为"真",(x<-1) || (x>5)的值为"假"。

(2)位操作

三分钟掌握位运算符——与(&)、非(~)、或(|)、异或(^)这个文章写得很好,值得去看看
如果以开关开灯论:
有这样两个开关,0为开关关闭,1为开关打开。

与(&)运算

0&0=0,0&1=0,1&0=0,1&1=1 :全真(1)才为真(1),有一假(0)则为假(0)

与运算中两个开关是串联的,如果我们要开灯,需要两个开关都打开灯才会打开。
理解为A与B都打开,则开灯,所以是1&1=1
任意一个开关没打开,都不开灯,所以其他运算都是0
通俗理解为A(与)B都开则开,否则关

或(|)运算
0|0=0,0|1=1,1|0=1,1|1=1 :全假(0)才为假(0),有一真(1)则为真

或运算中两个开关是并联的,即一个开关开,则灯开。
如果任意一个开关开了,灯都会亮。
只有当两个开关都是关的,灯才不开。
理解为A(或)B任意开则开

非(~)运算
非运算即取反运算,在二进制中1变0,0变1

异或(^)运算
异或运算通俗地讲就是一句话
同为假,异为真
所以它是这样的算法
:0^0=0,
0^1=1,
1^0=1,
1^1=0

更多推荐

C语言 与 或 非