c语言中“|”和“||”区别

来源:互联网 发布:换热器布管软件 编辑:程序博客网 时间:2024/06/08 13:35

一个竖杠“|”:表示运算的或;

二个竖杠“||”:表示逻辑的或;

 

c语言的位运算:

~取反,0取反是1,1取反是0
<<是左移,比如1<<n,表示1往左移n位,即数值大小2的n次方
>>右移,类似左移,数值大小除以2的n次方
&按位与,1与任意数等于任意数本身,0与任意数等于0,即1&x=x,0&x=0
|按位或,x|y中只要有一个1则结果为1
^按位异或,x^y相等则为0,不等则为1

 

c语言逻辑运算符:

&& 逻辑与,不过一旦左边的表达式为假,不进行右边表达式的运算。相当于我们的“并且”
|| 逻辑或,相当于我们日常生活中使用的“或”,也是左边的一旦为真,后面的也不判断。
!,取反,是单目运算符,将后面表达式的值取反。若后面的为真(非零),则取反后为假(0);后面的为假(0),取反后为真(1)

 

例:“|”和“||”的区别:

5>3|6<5
两边都计算,结果为true
5>3||6<5
只计算左边的,如果左边为true 则不计算右边的

原创粉丝点击