1、不用新的变量交换两个变量的值
1)加减法
a = a+b;
b = a-b;
a = a-b;
2)异或运算
a = a^b;
b = a^b;
a = a^b;
2、移位代替乘除2
注意,除法ed效率比移位运算要低得多,在实际编程中尽可能地采用移位运算代替乘除法。
a = a<<1; //乘以2
a = a>>1; //除以2
3、二进制最右边的1变成0
将一个整数减去1后和原来的数做位于运算,即
(
n
−
1
)
&
n
{\rm{(n - 1) \& n}}
(n−1)&n,相当于把整数的二进制表示中最右边的1变成0。
4、判断小数相等