逻辑与
逻辑运算符
逻辑与,符号为“&&”,只有两个操作数都是真,结果才是真。 逻辑与操作属于短路操作,既如果第一个操作数能够决定结果,那么就不会对第二个操作数求值。对于逻辑与操作而言,如果第一个操作数是假,则无论第二个操作数是什么值,结果都不可能是真,相当于短路了右边。
简介
“逻辑与”相当于生活中说的“并且”,就是两个条件都同时成立的情况下“逻辑与”的运算结果才为“真”。
逻辑运算符把各个运算的变量(或常量)连接起来组成一个逻辑表达式
逻辑运算符有3个:与(AND),或(OR),非(NOT)。在BASIC和Pascal等语言中可以在程序中直接用AND, OR,NOT作为逻辑运算符。在C语言中不能在程序中直接用AND, OR,NOT作为逻辑运算符,而是用其他符号代替,逻辑与(&&)、逻辑或(||)、逻辑非(!)。
异或)等。
逻辑运算
逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“成立”还是“不成立”,判断的结果是二值的,即没有“可能是”或者“可能不是”,这个“可能”的用法是一个模糊概念,在计算机里面进行的是二进制运算,逻辑判断的结果只有二个值,称这二个值为“逻辑值”,用数的符号表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“成立”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容“不成立“。
逻辑运算 (logical operators) 通常用来测试真假值。最常见到的逻辑运算就是循环的处理,用来判断是否该离开循环或继续执行循环内的指令。
逻辑与运算的规则可以用“真值表”描述,两个数据对象之间的逻辑运算规则见表如下:
逻辑表达式
用逻辑运算符将运算对象连接起来的表达式称为逻辑表达式,在C语言中,构成逻辑运算的数据对象除了关系表达式外,还可以是任意的其他表达式。对其他表达式而言,非0值以逻辑“真(即1)”参加逻辑运算,0值以逻辑“假”参加逻辑运算。逻辑表达式的运算结果是一个逻辑值(即0或者1)。
C语言中进行逻辑表达式求值运算时,不但要注意逻辑运算符本身的运算规则,而且还必须要遵循下面的两条原则:
·对逻辑表达式从左到右进行求解。
·短路原则:在逻辑表达式的求解过程中,任何时候只要逻辑表达式的值已经可以确定,则求解过程不再进行,求解结束。
具体理解逻辑表达式运算规则时,可以采用这样的步骤:
①找到表达式中优先级最低的逻辑运算符,以这些运算符为准将整个逻辑表达式分为几个计算部分。
②从最左边一个计算部分开始,按照算术运算、关系运算和逻辑运算的规则计算该部分的值。每计算完一个部分就与该部分右边紧靠着的逻辑运算符根据真值表进行逻辑值判断。
③如果已经能够判断出整个逻辑表达式的值则停止其后的所有计算:只有当整个逻辑表达式的值还不能确定的情况下才进行下一个计算部分的计算。
&与&& 的区别
布尔“位”运算符与逻辑运算符比较相似,不同之处在于逻辑运算的最终结果为真或假,而布尔“位”运算符的结果是一个具体数据。
逻辑与&&
表示逻辑与的意思,即为and。当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
比如12&&23的结果就是1,12&&-1的结果是1,123&&0的结果就是0。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str != null && !str.equals(“”))表达式,当str为null时,后面的表达式不会执行。
按位与&
按位运算指的是把字符变成二进制然后 按位运算。
表示按位与。
&表示按位与操作,我们通常使用0x0f来与一个整数进行&运算,来获取该整数的最低4个bit位,例如,0x31 & 0x0f的结果为0x01。
二进制与运算规则:1&1=1 1&0=0 0&0=0
15&127为什么等于15啊?
15二进制: (0000 1111)
127二进制: (0111 1111)
按位与自然就是(0000 1111)=15
参考资料
最新修订时间:2024-03-08 18:11
目录
概述
简介
逻辑运算
参考资料