C语言中位运算异或“∧”的作用

article/2025/11/6 5:47:03

前言:

为了方便查看博客,特意申请了一个公众号,附上二维码,有兴趣的朋友可以关注,和我一起讨论学习,一起享受技术,一起成长。

在这里插入图片描述


1.概念

异或运算符"∧"也称XOR运算符。它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。即 0∧0=0,0∧1=1, 1^0=1,1∧1=0。

运算说明
0 ^ 0=0,0 ^ 1=10异或任何数,其结果=任何数
1 ^ 0=1,1 ^ 1=01异或任何数,其结果=任何数取反
x ^ x=0任何数异或自己,等于把自己置0

2.应用

(1)使特定位翻转

比如:01111010,想使其低4位翻转,即1变为0,0变为1。可以将它与00001111进行∧运算,即

这里写图片描述

结果值的低4位正好是原数低4位的翻转。要使哪几位翻转就将与其∧运算的该几位置为1即可。这是因为原数中值为1的位与1进行∧运算得0,原数中的位值0与1进行∧运算的结果得1。

(2)实现两个值的交换

通过按位异或运算,可以实现两个值的交换,而不必使用临时变量。例如交换两个整数a=3,b=4的值,可通过下列语句实现:

a=a∧b;
b=b∧a;
a=a∧b;

这里写图片描述

#include <stdio.h>void main()
{int a=3,b=4;a=a^b;printf("first value %d\n",a);b=b^a;printf("second value %d\n",b);a=a^b;printf("third value %d\n",a);}

这里写图片描述

参考:

1.C语言中位运算符异或“∧”的作用

2.C语言异或运算


http://chatgpt.dhexx.cn/article/M0imFkJF.shtml

相关文章

此公众号并没有这些scope的权限,错误码:10005

有时候在使用微信公众号时会出错&#xff0c;被告知没有权限&#xff0c;如下图所示&#xff1a; 出现这问题有以下原因&#xff1a; 订阅号没有相关的权限账号没有认证&#xff0c;没有相关的权限scope 参数位置错误 解决方案&#xff1a; 需要在OAuth2.0网页授权中配置授权…

Discuz 论坛 手机端微信登录报错:此公众号并没有这些scope的权限,错误码:10005

抛出问题 当discuz绑定微信公众号时&#xff0c;可以控制微信公众号的一些操作&#xff1a; 解决问题 而出现这种错误的原因一般由三种&#xff1a; 订阅号没有相关的权限账号没有认证&#xff0c;没有相关的权限scope 参数位置错误 排查问题&#xff1a; Discuz的微信…

10005---2017年国内开源项目Top50

国内开源项目&#xff0c;不错&#xff0c;大力支持&#xff0c;顶&#xff01;&#xff01;&#xff01; 我要是有钱&#xff0c;一定出资赞助他们啊。 2017 年度码云热门项目排行榜 TOP 50 出炉啦&#xff01;我们根据所有开源项目在码云的用户关注度、活跃度、访问量等信息…

Gurobi--Error code: 10005. Unable to retrieve attribute solved ‘Pi‘ 解决

Gurobi code 问题代码&#xff1a; 本来想获取变量的对偶空间&#xff0c; double[] dualmodel.get(GRB.DoubleAttr.Pi,model.getConstrs());但是报错&#xff0c;Error code: 10005. Unable to retrieve attribute ‘Pi’ 原因是在gurobi中&#xff0c;二进制变量&#xf…

此公众号并没有这些scope的权限 错误码10005

问题背景 看到好多原先可以的公众号忽然提示&#xff0c;“此公众号并没有这些scope的权限 错误码10005”。其实我也没真正解决。但是翻了论坛&#xff0c;为大家带来以下提示 解决方案

记录一次微信登录失败此公众号并没有这些 scope的权限,错误码:10005

在2023年4月17日&#xff0c;大概早上9:45分微信公众号出现 微信登录失败 此公众号并没有这些 scope的权限&#xff0c;错误码:10005 如下图&#xff1a; 经过网上查阅以及咨询微信开发的人&#xff0c;最终确认出是微信问题。刚开始其他公众号商家还没反馈到微信这个问题&…

Mysql出现问题:ERROR 1005 (HY000): Can‘t create table 解决方案

回城传送–》《数据库问题解决方案》 ❤️作者主页:小虚竹 ❤️作者简介:大家好,我是小虚竹。Java领域优质创作者🏆,CSDN博客专家🏆,华为云享专家🏆,掘金年度人气作者🏆,阿里云专家博主🏆,51CTO专家博主🏆 ❤️技术活,该赏 ❤️点赞 👍 收藏 ⭐再看,养成…

微信授权登录10005解决方案汇总

微信授权登录10005解决方案汇总 微信官方登录能力文档说明: https://developers.weixin.qq.com/community/develop/doc/000c840489c6380d63389dbb451402 微信授权登录报错10005的主要原因: 该图片文章来源: https://blog.csdn.net/qq_39702981/article/details/82703171 其次…

使用readelf分析一个elf文件完整结构

编译器编译源代码后生成的文件叫目标文件&#xff1b; 从结构上来说与可执行文件一致&#xff0c;只是还没有经过动态链接的过程&#xff0c;有符号还没有被调整。与真正可执行文件稍有区别。 可执行文件格式涵盖了程序的编译、链接、装载和执行的各个方面。 windows下的PE和…

GCC详解-Binutils工具之readelf

1、介绍 readelf从ELF 格式的目标文件显示信息。 readelf和objdump提供的功能类似&#xff0c;但是它显示的信息更为具体&#xff0c;并且它不依赖BFD库(BFD库是一个GNU项目&#xff0c;它的目标就是希望通过一种统一的接口来处理不同的目标文件) 2、ELF格式的文件 ELF&…

readelf命令使用

0x1、概述 readelf命令&#xff0c;一般用于查看ELF格式的文件信息&#xff0c;常见的文件如在Linux上的可执行文件&#xff0c;动态库(*.so)或者静态库(*.a) 等包含ELF格式的文件。以下命令的使用是基于android编译出来的so文件上面去运行。 0x2、readelf常用命令 语法&#x…

readelf的使用

记录下有接触到的使用。 这个命令可以用来查询可执行文件依赖什么动态库&#xff0c;查看静态库中包含了什么.o文件。 1、查询可执行文件依赖什么动态库 2、静态库中包含了什么.o文件

linux readelf,Linux readelf命令使用

readelf用来显示ELF格式目标文件的信息.可通过参数选项来控制显示哪些特定信息。 (注意: readelf不支持显示archive文档, 也不支持64位的ELF文件)。 使用方法1&#xff1a; 查看共享库的依赖库(NEEDED)和搜索名(SONAME)。 readelf -d 例如&#xff1a; #readelf -d libuClibc-…

Linux命令:readelf

1 需求 关键参数&#xff1a; -h/--file-header Display the ELF file header-l/--program-headers/--segments Display the program headers-S/--section-headers/--sections Display the sections header-s/--syms/--symbols Display the symbol table--dyn-sys…

readelf命令使用说明

0x1、概述 readelf命令&#xff0c;一般用于查看ELF格式的文件信息&#xff0c;常见的文件如在Linux上的可执行文件&#xff0c;动态库(*.so)或者静态库(*.a) 等包含ELF格式的文件。以下命令的使用是基于android编译出来的so文件上面去运行。 0x2、readelf常用命令 语法&…

readelf指令使用

一、指令说明 readelf命令&#xff0c;一般用于查看ELF格式的文件信息&#xff0c;常见的文件如在Linux上的可执行文件&#xff0c;动态库(*.so)或者静态库(*.a) 等包含ELF格式的文件。以下命令的使用是基于android编译出来的so文件上面去运行。 readelf常用命令 语法&#xff…

Mysql开发实践:error while loading shared libraries: libaio解决方案

摘要&#xff1a;Mysql出现问题&#xff1a;error while loading shared libraries: libaio解决方案。 本文分享自华为云社区《Mysql出现问题&#xff1a;error while loading shared libraries: libaio解决方案》&#xff0c;作者&#xff1a; 小虚竹。 问题 初始化数据库时…

fio: engine libaio not loadable

用测试工具fio&#xff0c;并且安装方式是源码编译安装。 tar xzf fio-fio-3.18.tar.gz && cd fio-fio-3.18 ./configure make make install编译安装完&#xff0c;想要测试顺序读、顺序写等时候&#xff0c;出现下面的报错&#xff1a; fio: engine libaio not loade…

libaio在mysql中的作用,ubuntu安裝mysql遇到的坑----解決Mysql報錯缺少libaio.so.1

最近學習大數據&#xff0c;涉及到hive的部分需要安裝mysql&#xff0c;於是就在linux環境下嘗試安裝&#xff0c;對於我這個linux小白來說&#xff0c;中間遇到很多坑爹問題&#xff0c;在這里做一個記錄。 前面安裝的過程照着博客一步步來&#xff0c;照貓畫虎&#xff0c;沒…