【发布时间】:2012-06-18 13:53:20
【问题描述】:
这段代码如何找到任何给定数字 [>1] 的 32 位整数的下一个最高幂?
n--;
n = n | n>>1;
n = n | n>>2;
n = n | n>>4;
n = n | n>>8;
n = n | n>>16;
n++;
【问题讨论】:
-
是作业/面试题吗?
-
我会说它没有找到任何给定数字 >1 的 2 的下一个最高幂,因为已经是 2 的幂的输入返回自己而不是 2 的下一个幂。跨度>
标签: c algorithm bit-manipulation