1. 判断一个自然数是否是2n形式(n >= 0) bool IsPowerOfTwo(int x) { return ((x & (x - 1)) == 0 ) && (x != 0); } 2. 求两个整数的平均值 单纯的(x+y)/2可能存在x+y溢出的风险。 int Average(int x, int y) { return (x & y) + ((x ^ y) >> 1); } 3. 计算整数绝对值 template <typename T> T Abs(T x) { T y = x >> ((sizeof(T) << 3) - 1); return (x ^ y) - y; //or: return (x + y) ^ y; }