想知道是否有API直接計算log_2
?這是我目前的代碼,我將log_2(N)
轉換爲log_e(N)/log_e(2)
。Java中BigInteger的log2
順便說一句,它似乎對於普通的Java Double類型,沒有方法直接計算log_2(double_value)
?
我用Java代碼,
BigInteger x = BigInteger.valueOf(16);
BigInteger y = BigInteger.valueOf((long)(Math.log(x.longValue())/Math.log(2)));
System.out.println(y.doubleValue()); // return 4.0 as expected
「'Math.log(x.longValue())'」注意'log'需要一個double,所以你可以在這裏使用'x.doubleValue()',因爲它無論如何將會擴大。 –
@AndyTurner,同意和很好的捕獲。順便說一句,你知道是否有API直接計算log_2嗎? –