取最小的比n大的2的幂
摘要:
是不是很拗口?判断一个数n是否是2的幂,只要看n&(n-1)是不是0就行了。而找比它大的2的幂,可以先把它最高的一个1位之后全填充1然后加1。填充的方法可以是log32 = 5次的按位或。这样就不必做判断而出现分支了。也许有更快更好的方法吧,借此抛砖引玉一把。 #include inline bool is_power_of_2(int n){ return (n & (n-1)) == 0... 阅读全文
posted @ 2005-10-10 20:15 kaikai 阅读(954) 评论(1) 推荐(0) 编辑