使用c語言編寫程序:不允許創建第三方變量

    深入理解異或運算實例

    一.代碼實現

    
    #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)

    三.彙編分析

    

wKiom1a-4e3AMag_AAAseGbNtco084.png

    1.取出a和b的值

    2.將a的值放在eax中,將b與eax異或處理,將a的值保存起來。

    3.將a的值放在eax中,將b與eax異或處理,將b的值保存起來。

    4.將a的值放在eax中,將b與eax異或處理,將a的值保存起來。

 運用了a^a = 0;的概念;



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章