C++按位与(&)、按位或(|)和按位异或(^)

在C++中,按位与(&)、按位或(|)和按位异或(^)是位操作运算符,用于对二进制数的各个位进行逻辑运算。

  1. 按位与(&):对两个数的每一位进行与运算,只有当两个数对应位都为1时,结果的对应位才为1,否则为0。示例:

    cpp 复制代码
    int a = 5; // 二进制表示为 0101
    int b = 3; // 二进制表示为 0011
    
    int result = a & b; // 结果为 0001,即十进制的1
  2. 按位或(|):对两个数的每一位进行或运算,只有当两个数对应位至少有一个为1时,结果的对应位就为1,否则为0。示例:

    cpp 复制代码
    int a = 5; // 二进制表示为 0101
    int b = 3; // 二进制表示为 0011
    
    int result = a | b; // 结果为 0111,即十进制的7
  1. 按位异或(^):对两个数的每一位进行异或运算,当两个数对应位不相同时,结果的对应位为1,相同时为0。示例:

    cpp 复制代码
    int a = 5; // 二进制表示为 0101
    int b = 3; // 二进制表示为 0011
    
    int result = a ^ b; // 结果为 0110,即十进制的6

这些位操作运算符在处理硬件控制、密码学和图像处理等领域中经常使用,可以高效地进行位级操作。

相关推荐
charlie1145141914 分钟前
深入理解Qt的SetWindowsFlags函数
开发语言·c++·qt·原理分析
呜喵王阿尔萨斯10 分钟前
编程中的英语
c语言·c++
likeGhee1 小时前
python缓存装饰器实现方案
开发语言·python·缓存
whoarethenext1 小时前
使用 C++/Faiss 加速海量 MFCC 特征的相似性搜索
开发语言·c++·faiss
项目題供诗1 小时前
黑马python(二十五)
开发语言·python
慌糖1 小时前
RabbitMQ:消息队列的轻量级王者
开发语言·javascript·ecmascript
醇醛酸醚酮酯2 小时前
Qt项目锻炼——TODO清单(二)
开发语言·数据库·qt
jioulongzi2 小时前
记录一次莫名奇妙的跨域502(badgateway)错误
开发语言·python
向阳@向远方2 小时前
第二章 简单程序设计
开发语言·c++·算法
Mr_Xuhhh3 小时前
信号与槽的总结
java·开发语言·数据库·c++·qt·系统架构