使用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;的概念;



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