JAVA中以2为底的对数表示方式

在 Java 中没有直接提供 log₂(x)(以 2 为底的对数)的现成方法,但可以用换底公式轻松实现:

使用 Math.log()(自然对数 ln)计算:

复制代码
public class Log2Demo {
    public static void main(String[] args) {
        double num = 8;
        
        // 计算以2为底的对数
        double log2Val = Math.log(num) / Math.log(2);
        
        System.out.println("log₂(" + num + ") = " + log2Val); 
        // 输出:log₂(8) = 3.0
    }
}

等价实现(使用 10 为底对数)

也可以用 Math.log10(),结果完全一致:

复制代码
double log2Val = Math.log10(num) / Math.log10(2);
相关推荐
代码中介商几秒前
C++ STL 容器完全指南(二):vector 深入与 stringstream 实战
开发语言·c++
scott.cgi1 小时前
Unity直接编译Java文件作为插件,导致失败的两个打包设置
java·unity·unity调用java·unity的java文件·unity的android插件·unity调用android·unity加载java代码
澈2075 小时前
C++并查集:高效解决连通性问题
java·c++·算法
郝学胜-神的一滴6 小时前
Qt 入门 01-01:从零基础到商业级客户端实战
开发语言·c++·qt·程序人生·软件构建
测试员周周6 小时前
【Appium 系列】第06节-页面对象实现 — LoginPage 实战
开发语言·前端·人工智能·python·功能测试·appium·测试用例
2401_873479407 小时前
运营活动被薅羊毛怎么防?用IP查询+设备指纹联动封堵漏洞
java·网络·tcp/ip·github
ShiJiuD6668889997 小时前
大事件板块一
java
摇滚侠7 小时前
@Autowired 和 @Resource 的区别
java·开发语言
Wy_编程7 小时前
go语言中的结构体
开发语言·后端·golang
SeaTunnel7 小时前
(八)收官篇 | 数据平台最后一公里:数据集成开发设计与上线治理实战
java·大数据·开发语言·白鲸开源