如何通过异或运算快速简单的实现两个数的值的交换

2023-05-16

实现代码如下图所示:

public class class01 {
    public  static void swap(int a,int b){
        a=a^b;
        b=a^b;
        a=a^b;
        System.out.println(a);
        System.out.println(b);
    }
    public static void main(String[] args) {
        swap(4,3);
    }
}

由于异或运算具有交换律结合律两个性质,当传入两个参数a和b。

第一步:


a=a^b;  

第二步:


b=a^b^b;  由异或运算的结果知,b=a  

第三步:


a=a^b;  由于b=a,  -------->a=a^b^a=b  

可知,实现了两个数的交换,实现交换的两个数的值的地址必须不同,两个数的值可以相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何通过异或运算快速简单的实现两个数的值的交换 的相关文章

  • C++(一)— cout输出格式 (待完善)

    C 43 43 cout输出格式 ios dec以10进制表示整数ios hex以16进制表示整数ios oct以8进制表示整数ios showbase为整数添加一个表示其进 制的前缀ios internal在符号位和数值的中间插入需要数里
  • 判断两台设备是否属于同一子网的简易程序(C++实现)

    给定ip地址与子网掩码 xff0c 通过与运算判断是否属于同一子网 xff1a span class token macro property span class token directive hash span span class
  • Win11中换源失败

    按照之前在win10中的换源方法 xff0c 在 condarc中换源 xff0c 因为pip时下载网速依旧很慢 xff0c 所以发现换源并不成功 xff0c 并且没有在下载的时候有如下图所示的换源语句 Looking in indexes
  • px4连接不了mavros的原因

    本人多次试过机载重装系统后初次安装mavros 出现mavros连接不上的问题 一 USB接口电压不够 我之前遇到过的一种就是当px4通过USB线接入机载 xff0c 启动mavros时 xff0c 一直连接不上 xff0c 而且px4上常
  • Jetson Xaiver NX 安装 librealsense2-SDK

    在Jetson Xaiver NX上使用英特尔的相机 xff0c 我们需要安装相机的驱动 xff0c 以下提供两种方法进行安装 注 xff1a 采用手动安装方法可以驱动D400系列的相机 但驱动不了T265 xff0c 如果需要同时驱动D4
  • PX4机载连接通过IP连接电脑QGC地面站

    PX4接入Jetson系列机载时 xff0c 因为Jetson系列机载为ARM架构 xff0c 没有对应的QGC地面站可以安装使用 在平时的连接都是通过将PX4接USB线连接至电脑 xff0c 通过电脑的QGC进行各种校准和参数更改 接入机
  • 一次成功流水帐 ros中使用serial包实现串口通信debug和教程汇总

    会参考以下几个教程 xff0c 但是这几个都不完整 ros中使用serial包实现串口通信 鲁班班班七号的博客 CSDN博客 ros 串口通信 ROS使用serial库编译时出现 未定义的引用 解决办法 学术马的博客 CSDN博客 ros编
  • Haar特征+Adaboost人脸识别C实现

    Haar特征 43 Adaboost的人脸识别C实现 xff0c 部分简单的功能借助Opencv实现 xff0c 数据是MIT人脸数据 程序的实现主要是参考 Rapid Object Detection using a Boosted ca
  • Redhat6.5出现不识别CPU

    Detected CPU family 6 model 6Z UNSUPPORTED HARDUARE DEVICE CPU family 6 model gt 59 Redhat6 5版本会出现开机不是别cpu重启服务器 xff0c 可解
  • 爬取豆瓣网站前top250电影名称和评分保存到本地excel中(附效果图和代码)

    import requests from lxml import etree import xlwt headers 61 39 User Agent 39 39 Mozilla 5 0 Windows NT 10 0 Win64 x64
  • CentOS和Ubuntu有什么不同

    很多的初学者在刚开始接触Linux的时候 xff0c 是否有很多疑问 xff0c Linux有上百个系统到达有什么区别 Linux代表探索和自由 因为Linux在技术上代表内核的意思 内核是为设备提供驱动程序 网络通信 文件系统 进程管理等
  • Ubuntu系统各个版本

    http releases ubuntu com releases
  • ArduSub ROV无法前进

    本方案仅适用于ArduSub 控制系统的ROV xff0c 本方案参考ArduSub 官网http www ArduSub com 里的解决方法 问题描述 xff1a 本人在ROV实验中遇到的问题 xff1a 使用遥控器控制ROV向前行驶时
  • STM32F103C8T6核心板——引脚使用注意!!!

    STM32F103C8T6核心板 引脚使用注意 xff01 xff01 xff01 有的引脚与下载JTAG端口复用 有的与BOOT复用 xff0c 若发生引脚不够使用的情况 xff0c 可以将他们进行一点特殊的设置 xff0c 变成普通引脚
  • Keil5_因为临时环境变量造成的编译错误

    Keil5 因为临时环境变量造成的编译错误 如果安装本文所附文件 xff08 注册时打开两个软件都需要管理员权限运行 xff09 仍有同样问题 xff0c 原因可能有如下四个可能 一 电脑用户名使用了中文 解决办法 xff1a 更改为英文
  • STM32_CUBE_IDE_工程的导入和导出

    STM32 CUBE IDE 工程的导入和导出 1 我们写好了代码想要上传到代码仓库共享给别人怎么办 xff0c 就需要先导出工程再上传而不能直接将工程代码直接上传 2 导出工程 3 上传到码云仓库 4 导入之前导出的工程 导出工程 导出的
  • 常见驱动电路

    常见驱动电路 1 基础知识补充 xff08 三极管和MOS管 xff09 2 网上搜集的一些资料 xff08 个人认为可行 xff09 3 实践中使用过的一些驱动电路 4 学习开发板上面的驱动电路 三极管和MOS管的区别 1 三极管和MOS
  • VScode+keil插件-取代keil开发不要太爽了

    VScode 43 keil插件 取代keil开发不要太爽了 前言 xff1a 之前几年开发都是使用的keil xff0c 所以基本所有工程都是keil的工程 xff0c 一时间开发项目还不能及时转变使用HAL库开发 xff08 stm32
  • 关于maven项目中pom.xml文件报红问题的解决方法

    主要原因是可能需要的依赖没有进行自动的加载到本地仓库 xff0c 可以通过设置File gt Settings 设置好maven的本地仓库的位置以及maven的位置 xff0c 即可解决依赖的问题
  • 网络调试助手——局域网广播消息——模拟HTTP服务器

    网络调试助手 局域网广播消息 模拟HTTP服务器 前言 xff1a 作为一名嵌入式开发者 xff0c 不能熟练使用网络调试助手 xff0c 我羞愧至极 xff0c 赶紧弄明白记录下来才是正事 怎么使用网络调试助手向局域网广播消息 注释 xf

随机推荐

  • AT89C51、AT89S51、STC89C51有什么区别?

    标题AT89C51 AT89S51 STC89C51有什么区别 xff1f 1 首先明确一点 xff0c 这几个型号都属于51单片机 xff0c 程序和电路是通用的 xff1b 2 AT89C51是美国ATMEL公司生产的 xff0c 下载
  • 新装的GIT需要配置秘钥才能正常使用

    新装的GIT需要配置秘钥才能正常使用 实际这个过程就是git配置SSH 1 打开git 命令行终端输入指令生成秘钥 操作过程 xff1a 连击三次回车 xff0c 如下图即为成功 ssh span class token operator
  • 正则表达式_总结

    正则表达式 总结 说明 xff1a 限定SpinBox控件的输入范围 span class token comment 限定输入框为1 120 span SpinBox span class token punctuation span i
  • 电路设计_运算放大器应用

    电路设计 运算放大器应用 说明 xff1a 运算放大器是个万用宝 xff0c 要好好利用起来 xff0c 1 电压跟随 xff1a 起到隔离作用 xff0c 高阻抗变低阻抗 2 同向比例放大器 xff1a 放大输入电压信号 xff0c 在输
  • ESP32_IDF_基于win11的开发环境搭建

    ESP32 IDF 基于win11的开发环境搭建 说明 xff1a 1 安装ofline 2 编译下载 xff08 本来打算使用vscode配合使用来开发的 xff0c 奈何vscode环境真难搞 xff0c 放弃了 xff0c 用不惯 x
  • 树莓派的联网方式

    树莓派的多种联网方式 配置WiFi文件将空白的ssh文件放入sd卡配置WiFI文件 家庭局域网或热点查找树莓派ip 通过网线联网 配置WiFi文件 在sd卡中烧录系统之后 xff0c sd卡中会有如下程序 xff1a 将空白的ssh文件放入
  • STM32F103系列PWM波

    话不多说 xff0c 直接上我能跑通的代码 pwm h span class token macro property span class token directive hash span span class token direct
  • HTTP的几种认证方式之DIGEST 认证(摘要认证) 服务端

    https www cnblogs com xy ouyang p 12609387 html
  • Ubuntu 22.04LTS中使用aptitude来解决build-essential安装过程中过高版本包依赖问题

    小白近日安装完Ubuntu 22 04LTS后 xff0c 记不清是不是用了Software Updater还是自己手动upgrade了包 xff0c 导致在配置编译工具build essential 输入sudo apt install
  • 解决com.github.penggle kaptcha 2.3.2 报错

    需要从该地址处kaptcha的jar包下载位置 xff0c 从该地址下载jar包后 xff0c 可以把该jar包存放在C Users hp Desktop这个位置 xff0c 通过windows的cmd命令进入命令操作界面 执行以下命令 x
  • children 获取所有的子元素节点 2020/11/21

    children 获取所有的子元素节点 也是我们实际开发常用的 span class token operator lt span span class token operator span span class token consta
  • window常见事件 2020/11/24

    window onload是窗口 xff08 页面 xff09 加载时间 xff0c 当文档内容完全加载完成后触发该事件注意 xff1a window onload传统注册事件方式只能写一次 xff0c 如果有多个 xff0c 会以最后一个
  • 用if函数,进入无限循环,如何退出当前函数

    用if函数 xff0c 进入无限循环 xff0c 如何退出当前函数 wxml文件 span class token operator lt span view class span class token operator 61 span
  • form-type:submit和reset用法

    form type submit和reset用法 span class token operator lt span form bindsubmit span class token operator 61 span span class
  • checkbox背景颜色设置

    checkbox背景颜色设置 js文件 data span class token punctuation span languages span class token punctuation span span class token
  • MongoDB安装方案

    安装MongoDB 黑马头条项目 43 人力资源后台项目的接口服务均采用了 MongoDB 43 KOA2 技术栈 xff0c 所以在使用本地服务之前 xff0c 我们需要首先安装MongoDB xff0c 这也是该环节中出问题最多的一项
  • 小程序生成海报携带参数-云函数生成二维码

    1 逻辑代码 span class token keyword async span span class token function qcFn span span class token punctuation span span cl
  • 小程序动画

    小程序动画 点击事件 span class token comment lt 三大特色 gt span span class token tag span class token tag span class token punctuati
  • 小程序云开发--内容安全审查API云调用

    云调用 云调用是小程序 云开发提供的在云函数中调用微信开放接口的能力 xff0c 需要在云函数中通过 wx server sdk 使用 接口方法 openapi span class token punctuation span secur
  • 如何通过异或运算快速简单的实现两个数的值的交换

    实现代码如下图所示 xff1a public class class01 public static void swap int a int b a 61 a b b 61 a b a 61 a b System out println a