深入理解異或運算實例
一.代碼實現
#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;的概念;