| iol |
2011-08-17 17:00 |
关于位操作的一点补充
交换两个变量而不用临时变量: #include <iostream> using namespace std;
inline void Swap(int *a, int *b) { *a ^= *b; *b ^= *a; *a ^= *b; } int main() { int a=6; int b=12; Swap(&a,&b); cout<< a <<" "<< b<<endl; } 一些调试信息 可能有错误 .咳 6: (0110)2 ==a 12:(1100)2 ==b a =0110^1100=1010(==10) b=1100^1010=0110(==6) a=1010^0110=1100(==12) 完成转换 好吧...继续 |
|