首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用c/c++编写log base(2)

如何用c/c++编写log base(2)
EN

Stack Overflow用户
提问于 2010-06-18 03:25:51
回答 12查看 243.8K关注 0票数 110

有没有办法写log(基数为2)函数?

C语言有2个内置函数-->>

1.以e为基础的log

2.log10碱基10;

但是我需要以2为底的对数函数,如何计算。

EN

回答 12

Stack Overflow用户

发布于 2010-06-18 05:12:32

C99有log2 (以及用于浮点型和long double的log2flog2l )。

票数 69
EN

Stack Overflow用户

发布于 2010-06-18 04:35:12

如果您正在寻找一个整数结果,您可以只确定值中设置的最高位,并返回其位置。

票数 56
EN

Stack Overflow用户

发布于 2011-10-16 21:33:50

代码语言:javascript
复制
#define M_LOG2E 1.44269504088896340736 // log2(e)

inline long double log2(const long double x){
    return log(x) * M_LOG2E;
}

(乘法可能比除法快)

票数 44
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3064926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档