如何找到值最接近的2 ** n值?

时间:2016-07-16 20:27:22

标签: python

我的目标是获得比n的输入整数更接近的数字。

例如,nearestbigger应该是什么?

integerinput = [2016, 300, 9001]
for x in integerinput:
    print(nearestbigger(x))

预期产出

2048
512
16384

1 个答案:

答案 0 :(得分:1)

def nearesbigger(n):
    if n <= 0:
        return 1
    return 2 ** (n-1).bit_length()