可能是重复问题:
位操作:查找下一个二的幂
如何获取给定数字的下一个二的幂?
例如,我收到数字138,下一个POT数字是256。
我收到数字112,下一个POT是128。
我需要编写一个计算该值的算法。
谢谢
可能是重复问题:
位操作:查找下一个二的幂
如何获取给定数字的下一个二的幂?
例如,我收到数字138,下一个POT数字是256。
我收到数字112,下一个POT是128。
我需要编写一个计算该值的算法。
谢谢
一位非常聪明的程序员会查看 java.lang.Integer.highestOneBit(int)
方法,并考虑左移操作符 (<<
)。
Math.max(1, Integer.highestOneBit(i - 1) << 1)
是什么意思? - Thomas Mueller以下是一个非常简单的算法(由于这是作业,您需要自己编写代码):
1
为第一个候选的二次幂。