美文网首页
无临时变量交换两数的操作

无临时变量交换两数的操作

作者: 丁俊峰 | 来源:发表于2018-09-12 14:35 被阅读0次

int a=1,b=2;

b=a+(a=b)-a;

//以上语句相当于以下三步:

//b=a+b;

//a=b;

//b=b-a;

System.out.println(a +"," + b);

a=1;

b=2;

b=a*b/(a=b/a);

System.out.println(a +"," + b);

a=1;

b=2;

a=a^b;

b=a^b;//利用异或的特性,某数对另一数双次异或后返回原数

a=a^b;//同理

System.out.println(a +"," + b);

相关文章

  • 无临时变量交换两数的操作

    int a=1,b=2; b=a+(a=b)-a; //以上语句相当于以下三步: //b=a+b; //a=b; ...

  • C 语言实例12 - 交换两个数的值

    使用临时变量交换两个数的值 不使用临时变量交换两个数的值

  • 位运算符应用举例(一)

    1.两个数字交换 不借助临时变量,交换两个变量的值 2.求无符号整数二进制中1的个数 2.1 给定一个无符号整数变...

  • JavaScript实现两个变量值交换

    一个经典的问题,“两个变量之间值的交换”。 1、 引入临时变量进行数据交换 引入临时变量,最最基本的方法,看着很l...

  • 位运算算法

    1、不借助临时变量,交换两个变量的值 2、给定一个无符号整型(UInt)变量,求其二进制表示中"1"的个数,要求算...

  • 位运算的几种应用

    例1:不借助临时变量,交换两个数的值 思路:通过异或,先求出两个变量的不同的位 例2:求一个UInt二进制数中1的...

  • 不用临时变量交换两个数

    原理分析:假定a = 5, b = 3,他们的二进制表示如下 第一步异或 a = a ^ b生成a和b的合集 第二...

  • 常见位运算的面试题

    1. 不用临时变量,交换两个整数? 一个数和另一个数异或两次得到的还是原来的数 例如: 2. 统计一个整数二进制中...

  • JAVA学习笔记——不使用临时变量交换两个变量的值

    今日在看Java面试题的时候,遇到了一个问题问题:如何在不使用临时变量的情况下,交换两个变量的值。 第一种方法:数...

  • Go语言之多个变量同时赋值三

    编程最简单的算法之一,莫过于变量交换。交换变量的常见算法需要一个中间变量进行变量的临时保存。用传统方法编写变量交换...

网友评论

      本文标题:无临时变量交换两数的操作

      本文链接:https://www.haomeiwen.com/subject/ctbvgftx.html