這篇主要是來記錄C/C++有意思的題目。部分程序能有很高的效率
1、將兩個變量的值對調,而不使用中間變量。
- void swap(int a, int b)
- {
- a = a + b;
- b = a - b;
- a = a - b;
- }
- void swap(int a, int b)
- {
- a ^= b;
- b ^= a;
- a ^= b;
- }
2、一個判斷2個整數是否相等的函數
- int equal(int a, int b)
- {
- return !(a ^ b);
- }
3、一個判斷是否為整數的函數
- int isPositive(int a)
- {
- return !(a << 31 + !a);
- }