使用^实现a、b两数的交换
a=a^b;
b=a^b; //此时b=a^b^b=a^0=a
a=a^b; //此时a=a^b^a=b^0=b使用&、^和移位操作实现(a+b)/2
(a+b)/2=(a&b) + (a^b)>>1
注释:
—— >>1代表往右移动移位,即除以2。
——当a等于b时,a^b=0,a&b即(a+b)2;
—— 当a不等于b时,a&b=0,a^b=a+b,(a^b)>>1=(a+b)2;
与运算与异或运算的应用
最新推荐文章于 2022-02-18 17:29:54 发布