05-不借用第三个变量实现两个变量值互换(运算符)
/*** 变量值互换(不使用第三个变量) 使用异或运算符^* */
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-不借用第三个变量实现两个变量值互换(运算符)相关推荐
- php 实现两变量值对换,PHP互换两个变量值的方法(不用第三变量)
前言 今天在这里我们就来看看,在PHP中如何在不使用第三变量的情况下,达到交换两个变量值得目的.详细的解说见代码注释,下面来一起看看吧. 一.substr() && strlen() ...
- php比较两个变量的值_总结PHP不用第三个变量交换两个变量的值的几种方法
"PHP不用第三个变量交换两个变量的值"这个题看到过好多次了,看来面试确实喜欢考这道题.今天,对于这个题目,我自己总结了几种方法,可能不全,大家来互相补充. 有些仅适用于字符串,方 ...
- 不借助第三个变量交换a,b两个变量值
有一道面试题,要求是 不借助第三个变量交换a,b两个变量值. 其有一种解法是通过 " 异或 " 达成目的,代码如下 #include<stdio.h>int main( ...
- 四种“不使用第三方变量就可以交换两个变量值”的方法
问题引入: 遇到交换变量值的问题,通常我们的做法是:定义一个新的变量,借助它完成交换. 代码如下: t = a; a = b; b = t; 在这里插入代码片 但问题的重点是"不使用第三方变 ...
- 如何将系统变量中的Path变量值由一整行变的条理清晰
如何将系统变量中的Path变量值由一整行变的条理清晰 问题:在配置环境变量时,发现变量值呈现一整行的状态,不好查找需要的东西,如下图 解决方法:将C:\Windows\System32放在所有变量值前 ...
- c语言 交换两个变量 指针,C语言程序设计第5章“使用指针参数交换两个变量值”案例...
使用指针参数交换两个变量值"案例C主讲教师崔玲玲 5.1 " [案例说明]用函数实现两个变量值的交换使其在主调函数 和被调函数中的值一致.要求用指针变量作为函数参数.程 序运行结果 ...
- JAVA不借助第三个变量实现两个变量交换的思考
网上存在三种方法: 1) 算术运算 简单来说,就是通过+和-运算来实现.代码如下: int a,b; a=10;b=12; a=b-a; //a=2;b=12 b=b-a; //a=2;b=10 a= ...
- PHP中不用第三个变量交换两个变量的值
相信大家在PHP面试或者学习中经常会遇到这个问题就是"不用第三个变量来交换两个变量的值",今天正对这个问题来讨论一下: 第一种方法:首先会想到的 这种方法简单可行,顺利的交换了两个 ...
- 不借助第三个变量进行两个变量的换位输出
换位输出 public static void main(String[] args) { Scanner scan = new Scanner(System.in);// 创建扫描器 System. ...
- 不使用第三个变量,交换两个变量值
今天看到一个题,记得当年刚入行时在面试的时候也被考过. 已知变量 a=10;b=12,要求在不使用第三个变量的情况下相互交换值. 下面是个人愚见,欢迎吐槽~~ $a = 10; $b = 12; // ...
最新文章
- Spring基础面试题(一)
- 企业开展网络营销的六个阶段
- 集合框架源码分析六之堆结构的实现(PriorityQueue)
- 图像处理理论(六)——Harris, Eigenface
- spring整合ehcache2.5.2缓存异常-- net.sf.ehcache.CacheException
- 今日头条ocpm计费规则_入门篇|信息流广告的游戏规则—竞价机制
- day056-58 django多表增加和查询基于对象和基于双下划线的多表查询聚合 分组查询 自定义标签过滤器 外部调用django环境 事务和锁...
- 网管员、工程师 、专家 的岗位描述
- 【点击模型学习笔记】Modeling contextual factors of click rates_MS_AAAI2007
- Sublime Text插件
- 一些鼠标指针图案大全和美化 20+
- N1刷Android TV,贫民种草指北 篇二:N1盒子:不谈刷机,只谈使用!
- Android 分贝测试仪功能,华为移动终端开发
- 国产化系统改造实践(未完)
- 付费的「小密圈」值不值得我们加入呢?
- 整合管理,整合什么?
- 最新资讯!ONES 宣布收购「思否」技术社区!
- 用计算机对视频进行剪裁和编辑,如何裁剪视频?怎么在电脑上裁剪视频?
- Xcode7 编译报错
- 挑战绕口令《化肥会挥发》从初入江湖到天外飞仙的不同说法