使用位运算交换两个数

  算法解析
  A是位异或的运算符,即比较相同两位的异同,若是相同,则赋值为0,不然为1。
  在本程序中a、b的初始值分别为3和5,对应的二进制分别为00000011和00000101。通过下面的3个步骤交换了两个变量的值。
  (1)代码第6行,a的二进制变为00000110,b仍为00000101。即b不变,取出全部不相等的位存入a。
  (2)代码第7行,a的二进制为00000110,b变为00000011。即a不变,取出全部不相等的位存入b。此时b的值为a的初始值。
  算法代码
  源程序以下所示。html


  点击了解完整源程序算法

相关文章
相关标签/搜索