/*** 变量值互换(不使用第三个变量) 使用异或运算符^* */
public class Test3 {public static void main(String[] args) {int a = 10;int b = 20;a = a ^ b;b = b ^ a;a = a ^ b;System.out.println("a的值为:" + a);System.out.println("b的值为:" + b);}
}

原理分析:

异或运算公式:

a^b=a`b+ab`   (`==非)

例如:a=1(二进制为0001) b=2(二进制为0010)

则 a=a^b=a`b+ab`=1110*0010+0001*1101=0010+0001=2+1=3;

b=b^a=a`b+ab`=1100*0010+0011*1101=0000+0001=0+1=1;

a=a^b=a`b+ab`=1100*0001+0011*1110=0000+0010=0+2=2;

所以最后a的值为:2     b的值为:1

转载于:https://www.cnblogs.com/snake-hand/p/3146742.html

05-不借用第三个变量实现两个变量值互换(运算符)相关推荐

  1. php 实现两变量值对换,PHP互换两个变量值的方法(不用第三变量)

    前言 今天在这里我们就来看看,在PHP中如何在不使用第三变量的情况下,达到交换两个变量值得目的.详细的解说见代码注释,下面来一起看看吧. 一.substr() && strlen() ...

  2. php比较两个变量的值_总结PHP不用第三个变量交换两个变量的值的几种方法

    "PHP不用第三个变量交换两个变量的值"这个题看到过好多次了,看来面试确实喜欢考这道题.今天,对于这个题目,我自己总结了几种方法,可能不全,大家来互相补充. 有些仅适用于字符串,方 ...

  3. 不借助第三个变量交换a,b两个变量值

    有一道面试题,要求是 不借助第三个变量交换a,b两个变量值. 其有一种解法是通过 " 异或 " 达成目的,代码如下 #include<stdio.h>int main( ...

  4. 四种“不使用第三方变量就可以交换两个变量值”的方法

    问题引入: 遇到交换变量值的问题,通常我们的做法是:定义一个新的变量,借助它完成交换. 代码如下: t = a; a = b; b = t; 在这里插入代码片 但问题的重点是"不使用第三方变 ...

  5. 如何将系统变量中的Path变量值由一整行变的条理清晰

    如何将系统变量中的Path变量值由一整行变的条理清晰 问题:在配置环境变量时,发现变量值呈现一整行的状态,不好查找需要的东西,如下图 解决方法:将C:\Windows\System32放在所有变量值前 ...

  6. c语言 交换两个变量 指针,C语言程序设计第5章“使用指针参数交换两个变量值”案例...

    使用指针参数交换两个变量值"案例C主讲教师崔玲玲 5.1 " [案例说明]用函数实现两个变量值的交换使其在主调函数 和被调函数中的值一致.要求用指针变量作为函数参数.程 序运行结果 ...

  7. JAVA不借助第三个变量实现两个变量交换的思考

    网上存在三种方法: 1) 算术运算 简单来说,就是通过+和-运算来实现.代码如下: int a,b; a=10;b=12; a=b-a; //a=2;b=12 b=b-a; //a=2;b=10 a= ...

  8. PHP中不用第三个变量交换两个变量的值

    相信大家在PHP面试或者学习中经常会遇到这个问题就是"不用第三个变量来交换两个变量的值",今天正对这个问题来讨论一下: 第一种方法:首先会想到的 这种方法简单可行,顺利的交换了两个 ...

  9. 不借助第三个变量进行两个变量的换位输出

    换位输出 public static void main(String[] args) { Scanner scan = new Scanner(System.in);// 创建扫描器 System. ...

  10. 不使用第三个变量,交换两个变量值

    今天看到一个题,记得当年刚入行时在面试的时候也被考过. 已知变量 a=10;b=12,要求在不使用第三个变量的情况下相互交换值. 下面是个人愚见,欢迎吐槽~~ $a = 10; $b = 12; // ...

最新文章

  1. Spring基础面试题(一)
  2. 企业开展网络营销的六个阶段
  3. 集合框架源码分析六之堆结构的实现(PriorityQueue)
  4. 图像处理理论(六)——Harris, Eigenface
  5. spring整合ehcache2.5.2缓存异常-- net.sf.ehcache.CacheException
  6. 今日头条ocpm计费规则_入门篇|信息流广告的游戏规则—竞价机制
  7. day056-58 django多表增加和查询基于对象和基于双下划线的多表查询聚合 分组查询 自定义标签过滤器 外部调用django环境 事务和锁...
  8. 网管员、工程师 、专家 的岗位描述
  9. 【点击模型学习笔记】Modeling contextual factors of click rates_MS_AAAI2007
  10. Sublime Text插件
  11. 一些鼠标指针图案大全和美化 20+
  12. N1刷Android TV,贫民种草指北 篇二:N1盒子:不谈刷机,只谈使用!
  13. Android 分贝测试仪功能,华为移动终端开发
  14. 国产化系统改造实践(未完)
  15. 付费的「小密圈」值不值得我们加入呢?
  16. 整合管理,整合什么?
  17. 最新资讯!ONES 宣布收购「思否」技术社区!
  18. 用计算机对视频进行剪裁和编辑,如何裁剪视频?怎么在电脑上裁剪视频?
  19. Xcode7 编译报错
  20. 挑战绕口令《化肥会挥发》从初入江湖到天外飞仙的不同说法

热门文章

  1. Mac 开机没声音了?只需 2 招关闭/恢复
  2. FCPX安装插件位置及删除插件的方法
  3. 5款Mac必备的Safari扩展
  4. 攻击银行内网,黑客只要三步
  5. Lecture 6 Order Statistics
  6. 希捷发布新NAS产品为小型企业提供存储便利性
  7. Android高效率编码-第三方SDK详解系列(三)——JPush推送牵扯出来的江湖恩怨,XMPP实现推送,自定义客户端推送...
  8. 20151026作业
  9. javascript设置首页,加入收藏
  10. Web前端开发所用的调试工具