位运算的一些技巧集锦
摘要:
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) << 阅读全文
posted @ 2009-03-17 23:47 wpcockroach 阅读(274) 评论(0) 推荐(0) 编辑