1. 程式人生 > >資料交換的實現方法

資料交換的實現方法

A和B的資料交換,兩種實現方法方式,主要看位移的操作:

   1、設定一個臨時變數C, 則可以:C=A; A=B;B=C;

   2、A = A+ B; B = A - B; A = A - B;

         (這種不推薦使用,A+B如果相加溢位的話就有問題)

   3、不需要設定變數,直接兩個運用位移運算中的“異或(^)”,

        A ^= B; B^=A; A^=B;

       如:A=100 (4), B = 110 (5);

        則: A= A^B = 100 ^ 110 = 010;

                B = B^A = 110 ^ 010 = 100 (4,交換了A)

                A = A^B = 010 ^ 100 = 110 (5,交換了B)