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);
相关推荐
aramae5 小时前
模拟实现memset()(C语言)
c语言·开发语言·后端
OxYGC5 小时前
[AI工程] Spring AI 第十四篇:Agent 五种模式在 2.0 里怎么写
java·spring·ai·ai编程
code2cat5 小时前
【随笔】从聊天到调用工具:理解MCP在AI应用中的位置
java·人工智能
2501_933923255 小时前
Spring Bean作用域揭秘:单例、原型、请求与会话的区别
java·后端·spring·java-ee
wuyk5555 小时前
【Socket 进阶之路】第 7 章 IO 多路复用 select & poll 完整实战|多 fd 监听、超时等待、优缺点横向对比
服务器·开发语言·网络·数据库·物联网
学编程就要猛5 小时前
基于Spring AI 的智能聊天机器人
java·spring ai·chat robot
修炼室5 小时前
Java开发工程师笔试经验贴【高频知识】
java
船厂电气自动化ai大模型6 小时前
AI大模型与数学|第81天 课程:正交向量、正交基、格拉姆‑施密特(Gram‑Schmidt)正交化
开发语言·数据结构·人工智能·线性代数·机器学习
木井巳6 小时前
【记忆化搜索】最长递增子序列
java·算法·leetcode·深度优先·剪枝·推荐算法
杨杨杨大侠6 小时前
知识库已经有了,Java 程序员还要做什么?Spring AI RAG 实战
java·openai·ai编程