计算机与代数

您所在的位置:网站首页 log以2计算器 计算机与代数

计算机与代数

2023-12-15 15:45| 来源: 网络整理| 查看: 265

0.简介

上一篇文章介绍了原理,这里介绍如何实现。

1.泰勒展开 因为拟合的项数比较多,所以用循环可以解决。用下面的代码解决。 #define LN2 0.6931471805599453 double baselog2(double n) { n-=1; double x = 1,result = 0; for (int i = 1; i < 30; i++) { result += (n/i);//累加结果 n *= (x * (-1));//累乘n,并且计算每项的符号 } return result/LN2; }

这段代码只能计算(0.5,1]范围内的准确值,简单整合一下代码,变换成如下。

#define LN2 0.6931471805599453 double baselog2(double n) { n-=1;//函数实际计算的是log2(x+1),这里需要先减1 double x = -1,result = 0; for (int i = 1; i < 30; i++) result += ((x = x * n * -1) / i); return result/LN2; } 2.分情况计算

根据上一篇设计的各种情况,将其分别实现,代码如下。

double mylog2(double n) { double result = 0; //计算普通情况 if (n >= 0.5 && n = 0.1 && n < 0.5) { int subn = 0; while(n= 0 && n < 0.1) { int addn=0; while (n 1) { double bitnum = 1; int bitset = 0; while (bitnum = 0.5 && n = 0.1 && n < 0.5) { while(n= 0 && n < 0.1) { while (n 1) { while (1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3