【C++库函数】C++求对数的方法

对数换底公式

C++17以下不能直接求log2(),需要用换底公式
logba=lnalnb
C++17及以上可以直接用log2()函数
image

完整实例

#include <iostream>
#include <cmath>

int main() {
    double x = 100.0;

    // 自然对数
    std::cout << "ln(100) = " << log(x) << std::endl;      // 输出 ~4.60517

    // 以10为底
    std::cout << "log10(100) = " << log10(x) << std::endl; // 输出 2

    // 以2为底(C++17+)
    #if __cplusplus >= 201703L
    std::cout << "log2(64) = " << log2(64.0) << std::endl; // 输出 6
    #endif

    // 任意底数(例如 log₃ 81)
    std::cout << "log3(81) = " << log(81) / log(3) << std::endl; // 输出 4

    return 0;
}

image

posted @   Tshaxz  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
Language: HTML
点击右上角即可分享
微信分享提示