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

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

相关推荐
栈与堆8 分钟前
LeetCode 19 - 删除链表的倒数第N个节点
java·开发语言·数据结构·python·算法·leetcode·链表
一路向北·重庆分伦10 分钟前
03-01:MQ常见问题梳理
java·开发语言
txinyu的博客15 分钟前
结合游戏场景理解,互斥锁,读写锁,自旋锁,CAS / 原子变量,分段锁
开发语言·c++·游戏
hugerat20 分钟前
在AI的帮助下,用C++构造微型http server
linux·c++·人工智能·http·嵌入式·嵌入式linux
阿里嘎多学长23 分钟前
2026-01-11 GitHub 热点项目精选
开发语言·程序员·github·代码托管
yuanyikangkang23 分钟前
STM32 lin控制盒
开发语言
-森屿安年-26 分钟前
unordered_map 和 unordered_set 的实现
数据结构·c++·散列表
九久。1 小时前
手动实现std:iterator/std:string/std::vector/std::list/std::map/std:set
c++·stl
小羊羊Python1 小时前
Sound Maze - 基于 SFML+C++14 的音效迷宫开源游戏 | MIT 协议
c++·游戏·开源