逻辑运算符与位运算符

简介: 逻辑运算符与位运算符

逻辑运算符


1. && 逻辑与


两个条件都为真,则结果为真


if((a>b) && (a<c))
if(b<a<c) //这种表达方式是错误的


2. || 逻辑或


两个条件至少有一个为真,则结果为真


if((a>b) || (a<c))


3. ! 逻辑非


if(!(a>b))
{
}


逻辑与:  A  &&   B      只有A 和 B同时为真  整个表达式为真   ,      如果A为假 ,不会再判断B的真假(逻辑与的短路特性)
逻辑或:  A   ||    B        只有A 和 B同时为假  整个表达式为假           如果A为真,不会再判断B的真假(逻辑或的短路特性)


20200312200927725.png


位运算

按位与:&


1100 0011
1111 0000
-------------------------------------------------------------------------------------------------------
1100 0000


语法:全1为1 其他为0

特点:和1相与 不变 和0相与为0

场景:将固定位 清0

案例:请将num =1100 0011的0、1位清0,其他位不变


1100 0011
1111 1100 &
-------------------------------------------------------------------------------------------------------------------------
1100 0000
num = num & 1111 1100


按位或:|


1100 0011
1111 0000 |
------------------------------------------------------------------------------------------------------
1111 0011


语法:有1为1 全0为0

特点:和0相或 保持不变 和1相或 置1

场景:将固定位 置1

案例:请将num=1100 0011的4、5位置1,其他位不变


1100 0011
0011 0000  |
-------------------------------------------------------------------------------------------------------------------------
1111 0011
num = num | 0011 0000


按位取反:~


语法:0变1 1变0


~(1100 0011) == 0011 1100


按位异或:^


1100 0011
1111 0000 ^
----------------------------------------------------------------------------------------------------
0011 0011
1111 0000 ^
----------------------------------------------------------------------------------------------------
1100 0011


语法:相同位0  不同为1    
特点:和0异或 不变     和1异或  取反    
场景:将固定的位 发生翻转


相关文章
逻辑运算符
运算符指导解释器进行数学或逻辑操作。Lua包含多种运算符,如算术、关系和逻辑运算符等。逻辑运算符处理布尔值,通过`and`、`or`及`not`连接条件。若`a`和`b`初值为`true`,则`(a and b)`为`true`;若`a`改为`false`,`(a and b)`为`false`且`not(a and b)`为`true`。这些运算符支持复合条件判断。
|
1月前
|
Java 测试技术 数据安全/隐私保护
day12:逻辑运算符
【7月更文挑战第12天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
15 1
|
2月前
|
Python
位运算符
【6月更文挑战第28天】位运算符。
14 1
|
2月前
|
存储 编译器 C++
C++中的位运算符
C++中的位运算符
10 0
|
存储 算法
位运算符讲解
位运算符讲解
位运算符讲解
按位运算符&、|、^、~、<<、>>
按位运算符都是对二进制进行计算
113 0
|
C语言 开发者
关系运算符和逻辑运算符
一、关系运算符 二、关系表达式 三、逻辑运算符 四、逻辑表达式 五、短路求值
关系运算符和逻辑运算符
|
PHP C#
C#(七)之逻辑运算符
算数运算符的优先级大于逻辑运算符。下面是!、 &&、 || 三个运算符的简单应用。
143 0
C#(七)之逻辑运算符
sqlite3_stmt 机制
销毁sqlite3_stmt对象,使用sqlite3_finalize()函数,一般是循环操作完成后,销毁。