如何在C / C ++中编写日志库(2)

有什么办法可以写log(base 2)函数?


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


1. log以e为底。


2.以log1010为基数;


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


翻过高山走不出你
浏览 479回答 3
3回答

慕姐4208626

简单的数学:    log 2(x)= log y(x)/ log y(2)其中y可以是任何值,对于标准日志函数,其值为10或e。

千巷猫影

#define M_LOG2E 1.44269504088896340736 // log2(e)inline long double log2(const long double x){    return log(x) * M_LOG2E;}(乘法可能快于除法)
打开App,查看更多内容
随时随地看视频慕课网APP