逻辑运算和按位运算的区别

本文探讨了逻辑运算符(&amp;&amp;、||、!)与位运算符(&amp;、|、~、^、<<、>>)的区别,包括它们在布尔表达式中的作用、判断真假的方式以及计算原理。通过实例解析,帮助读者区分这两种运算在实际编程中的应用场景。
摘要由CSDN通过智能技术生成

1.作用不同

&&、|| 、!

是逻辑运算符,用于从左到右求表达式的真值。
例:X=1;Y=2;那么X&&Y=1; X||Y=1;
例:F=!F;当F为假时,运算结果为真;
例:while(GPIO_INPUT_GET(GPIO_ID_PIN(5))==0 && C_delay_time<100);//“&&”前面如果判断为真,后面判断也为真,运算结果为真
例:

&、| 、~、^、<<、>>

是位运算符,是对X,Y进行位运算,
例:X=1;Y=2;X&Y=0;X换算为二进制为0001,Y=0010,0001&0010=0;
例:if((DHT11_Data_Array[3]&0x80) == 0);//DHT11_Data_Array[3]&0x80为按位&,后面为逻辑判断,运算结果只有真和假。

2.判断这个表达式的真或假的不同

&和|既是逻辑运算符也是位运算符,而&&和||只是逻辑运算符。
当&与&&同为逻辑运算符时,它们都用于连接两个Boolean类型的表达式,当&和&&的两端表达式同时为真时,表达式的结果为真,只要有一端为假,那么表达式结果为假。
例:3>5&3>2;3>5&&3>2;
当|和||的两端表达式同时为假时,表达式的结果为假,只要有一端为真,那么表达式结果为真。

3.计算方式不同

当使用&运算符:计算机在判断表达式的值的时候,先判断3>5的值为假,然后再判断3>2的结果为真,于是最后的结果是假&真为假;
但是当我们使用&&运算符的时候:计算机先判断3>5的值为假,此时表达式的结果一定为假,所以计算

4.总结:

逻辑与、逻辑或、逻辑非是对boolean值得操作,属于离散数学范畴。
按位与、按位或、按位非是对计算机位的操作,属于计算机二进制位运算范畴。
逻辑与都是真才真 &&
逻辑或有真就是真 ||
逻辑韭假才真。!
按位与、按位或、按位非按照上面的规则对每一位进行逻辑运算,其中1代表真 0代表假。
一个是位操作,一个是条件计算操作逻辑运算符用来判断真假;位操作符用来计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值