深入理解异或运算实例
一.代码实现
#include<stdio.h>
int main()
{
int a = 10;
int b = 12;
a = a^b;
b = a^b;
a = a^b;
printf("%d %d",a,b);
system("pause");
return 0;
}
二.异或性质
每一个元素就是它自身的加法逆元(a^a = 0)
三.汇编分析
1.取出a和b的值
2.将a的值放在eax中,将b与eax异或处理,将a的值保存起来。
3.将a的值放在eax中,将b与eax异或处理,将b的值保存起来。
4.将a的值放在eax中,将b与eax异或处理,将a的值保存起来。
运用了a^a = 0;的概念;
转载于:https://blog.51cto.com/10799170/1741808