(位運算符)請自己實現兩個整數變量的交換 ^的特點 (面試題)

JAVA面試:


int a=10;
int b=20;
//方式1:借用第三方變量
int c;
c=a;
a=b;
b=c;
System.out.println("a:"+a+":"+"b:"+b);
//方式2:使用位異或實現
a=a^b;
b=a^b;
a=a^b;
System.out.println("a:"+a+":"+"b:"+b);
//方式3:使用a和b的和相減
a=a+b;
b=a-b;
a=a-b;
System.out.println("a:"+a+":"+"b:"+b);
//方式4:一句話搞定
b=(a+b)-(a=b);
System.out.println("a:"+a+":"+"b:"+b);

發佈了30 篇原創文章 · 獲贊 38 · 訪問量 14萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章