gpt4 book ai didi

java - Java 中 BigInteger 的 log2

转载 作者:行者123 更新时间:2023-12-01 20:53:20 25 4
gpt4 key购买 nike

想知道是否有 API 可以直接计算 log_2?这是我当前的代码,我将 log_2(N) 转换为 log_e(N)/log_e(2)

顺便说一句,似乎对于普通的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

最佳答案

这是内置于 BigInteger 中的API。来自 Javadoc:

public int bitLength()

Returns the number of bits in the minimal two's-complement representation of this BigInteger, excluding a sign bit. For positive BigIntegers, this is equivalent to the number of bits in the ordinary binary representation. (Computes (ceil(log2(this < 0 ? -this : this+1))).)

关于java - Java 中 BigInteger 的 log2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42826607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com