扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
以2为底的对数
创新互联公司服务项目包括尼元阳网站建设、尼元阳网站制作、尼元阳网页制作以及尼元阳网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,尼元阳网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到尼元阳省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
这个的作用在于:它能计算出值是2的几次幂!
比如log2(1024)=10
这个在数据结构中是用来衡量时间渐进复杂度和空间渐进复杂度的,只是大概值就行。
这些是用来大概衡量的,只需知道个数量级即可
在c语言中,上述函数是表示的以10为底的常用对数。以2为底的对数在c标准函数库里没有,你要自己编写,那如何表示是自己规定啊。
5.log
函数名:log
功 能: 自然对数函数ln(x)
用 法: double log(double x);
程序例:
#i nclude math.h
#i nclude stdio.h
int main(void)
{
double result;
double x = 8;
result = log 2 (x);
printf("The natural log of %lf is %lf\n", x, result);
return 0;
}
求lnx为log(x)
求log 10 x是log10(x)
没有专门的求任意底数对数的函数,不过可以用log(x)/log(y)表示log x (y)
对于这个,可以用log 2 x表示。
楼上说的那个方法也对,只不过运用了C语言的库函数了,如果不用库函数,你可以使用log2X的傅里叶展开式进行运算,精确到第几项,要看你程序要求的精确度。
#include stdio.h
#include "math.h"
int main(void){
double x,y;
scanf("%lf",y);
x=log(y)/log(2);//或x=log10(y)/log10(2);
printf("以2为底的的%f的对数是%f\n",y,x);
return 0;
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流