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

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

相关推荐
渣渣盟15 分钟前
JavaScript核心概念全解析
开发语言·javascript·es6
C++ 老炮儿的技术栈34 分钟前
在 Scintilla 中为 Squirrel 语言设置语法解析器的方法
linux·运维·c++·git·ubuntu·github·visual studio
java叶新东老师1 小时前
goland编写go语言导入自定义包出现: package xxx is not in GOROOT (/xxx/xxx) 的解决方案
开发语言·后端·golang
@蓝莓果粒茶1 小时前
LeetCode第350题_两个数组的交集II
c++·python·学习·算法·leetcode·职场和发展·c#
檀越剑指大厂1 小时前
【Python系列】Flask 应用中的主动垃圾回收
开发语言·python·flask
檀越剑指大厂2 小时前
【Python系列】使用 memory_profiler 诊断 Flask 应用内存问题
开发语言·python·flask
笠码2 小时前
JVM Java虚拟机
java·开发语言·jvm·垃圾回收
橙小花2 小时前
C语言:指针、变量指针与指针变量、数组指针与指针数组
c语言·开发语言
Cyanto2 小时前
MyBatis-Plus高效开发实战
java·开发语言·数据库
艾莉丝努力练剑2 小时前
【LeetCode&数据结构】二叉树的应用(二)——二叉树的前序遍历问题、二叉树的中序遍历问题、二叉树的后序遍历问题详解
c语言·开发语言·数据结构·学习·算法·leetcode·链表