/*
* 不用额外变量交换两个整数的值
*
* 异或:参加运算的两个数,如果两个相应位为“异”(值不同),则该位结果为1,否则为0
* 解题思路
* 假设a异或b的值为c,c存储着a与b整数所有的位置不同的信息
* a^c的结果就是b
* b^c的结果就是a
* */
public class BO1 {
public static void main(String[] args) {
int a=10;//二进制 0000 1010
int b=20;//二进制 0001 0100
a=a^b; //二进制 0001 1110
b=a^b; //二进制 0001 0100
a=a^b; //二进制 0000 1010
System.out.println("a = " + a+" b = " + b);
}
}
位运算 交换两个整数的值
最新推荐文章于 2023-02-23 13:57:43 发布