摘要: 利用位运算往往能取得一些精妙的计算效果。这里收藏一些有关位运算的应用,底下的参考都是很棒的资料,每每思之,若有所得。(1) 获取两个数字的平均数 int getAverage(int a, int b){ return (a&b)+((a^b)>>1);} 如果使用 (a+b)/2 可能需要考虑溢出。可以这样考虑: a&b 得到的是a与b之间相同的"部分", 相同的部分所代表的是其相同的一个“基数”,好比 5 = 4+1, 3= 2+1, 5与3之间相同的"基数"部分便是"1"。a^b 得到的是 a 与 b 阅读全文
posted @ 2012-10-06 16:05 rereadyou 阅读(109) 评论(0) 推荐(0) 编辑