位异或运算符的特点:一个数据对另一个数据位异或两次,该数本身不变。
面试题:
请自己实现两个整数变量的交换
方法一:使用第三方变量(开发中使用)
int a =10;
int b = 20;
int c = a;
a=b;
b=c;
方法二:用位异或实现
a = a ^ b;
b = a ^ b; // a ^ b ^ b = a
a = a ^ b; // a ^ b ^ a = b
位异或运算符的特点:一个数据对另一个数据位异或两次,该数本身不变。
面试题:
请自己实现两个整数变量的交换
方法一:使用第三方变量(开发中使用)
int a =10;
int b = 20;
int c = a;
a=b;
b=c;
方法二:用位异或实现
a = a ^ b;
b = a ^ b; // a ^ b ^ b = a
a = a ^ b; // a ^ b ^ a = b