算法

通过异或运算交换两个数
    a ^= b
    b ^= a
    a ^= b

证明

由异或定义易得:
    异或运算满足结合律, 交换律
    x ^ x = 0
    x ^ 0 = x

设x1 = a,x2 = b

x1 ^= x2
    x1: a ^ b
    x2: b

x2 ^= x1
    x1: a ^ b
    x2: b ^ a ^ b = a

x1 ^= x2
    x1: a ^ b ^ a = b
    x2: a

异或交换两个数的原理证明相关推荐

  1. C语言异或交换两个数的原理解析-大厂面试题:不使用第三变量交换两个数的值

    常用操作交换两个数的值 常用的交换两个数值的方法一般是采用第三个变量,这种方法简单易懂,用代码举例 int main() {//交换两个整形变量int a = 3;int b = 5;int c = ...

  2. 利用位运算和指针实现的交换两个数的程序

    位运算是C语言的一大特色,利用异或运算可以实现交换两个数,原理是一个整数与另外一个数进行两次异或运算仍然是其本身,基本原理用式子表达如下: (1) A ^ A = 0; (2) A = A ^B; ( ...

  3. java 不用中间变量_java异或运算不使用中间变量交换两个数(Java版)详细分解...

    Java的异或运算^,这个小不点"^"就是Java的异或运算符,其特性如下:真^假=真假^真=真 假^假=假 真^真=假,它却是说明了Java异或运算的基本法则,那就是:只要两个条 ...

  4. 【java】java 如何不使用第三个变量来交换两个数的值

    文章目录 1.概述 2.方案 2.1 算术运算 2.2 位运算 1.概述 今天是一个悲伤的一天,我的悲伤逆流成河.非常非常的悲伤.主要是有这个一个面试题.如何不使用第三个变量来交换两个数的值. 考官说 ...

  5. 用按位异或运算符交换两个数,不引入第三个变量

    2019独角兽企业重金招聘Python工程师标准>>> 用按位异或运算符交换两个数,不引入第三个变量 void swap(int &a , int &b) { a = ...

  6. python交换两个值原理_python 两数交换新写法原理

    今天学python,突然发现没有swap函数,那怎么交换两个数呢,难道手写交换,那效率太差了 我们看一下实例 a = 1b= 2a,b=b,aprint(a,b) 其实很简单的原理,然而我却琢磨了半天 ...

  7. C语言实现交换两个数

    方法一:最普通方法--建立临时变量 思路分析:建立一个临时变量,通过temp=a,a=b,b=temp来实现交换. 缺点:这只是一种假交换,由于这只是在函数内部临时变量间的交换,所以当函数退出,函数栈 ...

  8. 详解交换两个数的五种思路

    目录 •写在前面 •利用新变量 •利用加减法 •利用乘除法 •利用异或 •利用移位 •写在前面 交换两个数?听起来这不是很简单嘛,感觉没什么好讲的.不过这么想是因为很多时候都想简单了,没有把编程的巧妙 ...

  9. 不创建临时变量交换两个数,这才是高手

    不创建临时变量交换两个数?这才是高手 1.基本介绍 1.代码编写 总结 1.基本介绍 交换两个数,想必大家都很熟悉,也很容易写出来就可以实现,即创建一个临时变量,就可以完成两个数的交换,然后更牛逼的大 ...

最新文章

  1. 密码学是如何保护区块链的
  2. lucene源代码学习之 lucene的经典打分过程
  3. Objective-C基础教程学习笔记(九)内存管理
  4. 前端---JavaScript基础2
  5. dockerclient 查看端口占用_docker 端口被占用问题解决
  6. Linux运维系统工程师系列---13
  7. java 泛型嵌套泛型_Java泛型嵌套
  8. spring cloud微服务分布式云架构-commonservice-config配置服务搭建
  9. java 字体有哪些_java字体有哪些
  10. java6 3_2018.3.6 Java web notes:
  11. Eclipse开发程序,取得新的工程后,启动Web服务出错原因总结
  12. Source Insight 的使用
  13. 安装最新LAMP环境(CentOS7+PHP7.1.5+Mysql5.7)
  14. 数据结构和算法(十三)排序算法
  15. abaqus 输出TSAIW和一些Load Surface Traction的细节
  16. 嵩天老师python123测验_嵩天老师python123测验4: 程序的控制结构 (第4周)
  17. 模电和数电复习资料//2021-2-18
  18. 干货 | Elasticsearch Nested 数组大小求解,一网打尽!
  19. 苹果圆圈怎么设置_苹果手机白色圆圈怎么弄
  20. 电脑声音太小怎么办?_陕南赤子_新浪博客

热门文章

  1. J网页制作之avaScript 简介
  2. 签约冯小刚徐帆代言,金立M2017能否跨越新高度?
  3. Office2007 PPT 宏修改文字颜色
  4. LSI(潜在语义索引)主题建模简介
  5. SAP PM模块配置大全
  6. 第四个把梳子卖给和尚的人
  7. zzulioj新生周赛(6) 2733: 键盘霸主hrs
  8. 大牛C++编程开发学习建议50条
  9. 微信公众号授权登录weixin4j开发
  10. 电商系统促销方案的设计