逻辑运算符与位运算符

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

逻辑运算符


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异或  取反    
场景:将固定的位 发生翻转


目录
打赏
0
0
0
0
1
分享
相关文章
人工智能的伦理困境与未来展望
【8月更文挑战第9天】随着人工智能技术的快速发展,它已经深入到我们生活的方方面面。然而,随之而来的伦理问题也日益凸显。本文将探讨人工智能带来的伦理挑战,并对其未来发展进行展望。
QT:基于QMediaPlayer制作的视频播放器(最下方有整合包,可直接运行)
QMediaPlayer是Qt多媒体模块中的一个核心类,它提供了播放音频和视频内容的功能。这个类的设计旨在简化跨平台的媒体播放,使得开发者能够在多种操作系统(如Linux、Windows、macOS及移动平台)上轻松集成多媒体播放能力到他们的应用中,而无需关心底层实现细节。以下是关于QMediaPlayer的一些关键点:
1368 1
客户管理和运营太难了?瓴羊×阿里云上的Salesforce给出更符合中国企业体质的解法
客户管理和运营太难了?瓴羊×阿里云上的Salesforce给出更符合中国企业体质的解法
184 0
python如何引用变量的名称
总的来说,动态获取变量名在Python中是可能的,但应该小心使用,并考虑代码设计是否存在更优的方法。这些技巧可能在调试和开发工具时有其价值,但可能不适合生产代码。通常,如果你在正常编程中需要这样做,可能是时候重新考虑你的设计了。
111 0
Llama-2 推理和微调的硬件要求总结:RTX 3080 就可以微调最小模型
大语言模型微调是指对已经预训练的大型语言模型(例如Llama-2,Falcon等)进行额外的训练,以使其适应特定任务或领域的需求。微调通常需要大量的计算资源,但是通过量化和Lora等方法,我们也可以在消费级的GPU上来微调测试,但是消费级GPU也无法承载比较大的模型,经过我的测试,7B的模型可以在3080(8G)上跑起来,这对于我们进行简单的研究是非常有帮助的,但是如果需要更深入的研究,还是需要专业的硬件。
1653 0
JSON字符串直接转换为目标对象,并测试是否是深度转换
JSON字符串直接转换为目标对象,并测试是否是深度转换
346 0
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等