c语言a=a^b; b=a^b; a=a^b 是啥意思啊??
2015-11-06 · 知道合伙人教育行家
关注
展开全部
互换a,b的值
位运算是C语言的一大特色,利用异或运算可以实现交换两个数,原理是一个整数与另外一个数进行两次异或运算仍然是其本身,基本原理用式子表达如下:
(1) A ^ A = 0;
(2) A = A ^B;
(3) B = A ^B;(相当于B = A ^ B ^ B ,即 B = A)
(4) A= A ^ B;(相当于A = A ^B ^A ,即A = B)
利用位运算不仅提高了代码的执行速度,而且此处还减少了对辅助变量的需求,因此提高了程序的效率。
位运算是C语言的一大特色,利用异或运算可以实现交换两个数,原理是一个整数与另外一个数进行两次异或运算仍然是其本身,基本原理用式子表达如下:
(1) A ^ A = 0;
(2) A = A ^B;
(3) B = A ^B;(相当于B = A ^ B ^ B ,即 B = A)
(4) A= A ^ B;(相当于A = A ^B ^A ,即A = B)
利用位运算不仅提高了代码的执行速度,而且此处还减少了对辅助变量的需求,因此提高了程序的效率。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询