位运算能节约内存和使用程序性能更好:
- 用位运算实现两个 整型数的交换
void exchange(int a, int b) { a ^= b; b ^= a; a ^= b; }
- 用位运算实现取两个整数的(a+b)/2的向下取整值(或求均值)
int average(int a, int b) { return (a&b) + ((a^b)>>1); }
- 判断一个整数是否是2^N次方
!(x&(x-1))
时间: 2024-10-12 04:26:00
位运算能节约内存和使用程序性能更好:
void exchange(int a, int b) { a ^= b; b ^= a; a ^= b; }
int average(int a, int b) { return (a&b) + ((a^b)>>1); }
!(x&(x-1))