计算2或10与另一个数字最接近的幂的最有效方法是什么?例如
3.5将返回2的幂的4和1的10的幂
123将返回128的2的幂和100的10的幂
0.24的2的幂将返回0.25,10的幂将返回0.1
我只是在寻找算法,不在乎语言。
n^round(log_n(x))
其中log_n是以n为底的对数。您可能必须根据定义“最接近”的方式来修改round()。
注意log_n(x)可以实现为:
log_n(x)
log_n(x) = log(x) / log(n)
log任何方便的底数的对数在哪里。
log