#include <stdio.h>
const int N=100;
double coef(int n)
{
if(n==0) return 0;
double t=1.0/n;
if(n%2==0) t=-t;
return t;
}//x^n的系数
double horner(double x)
{
double u=coef(N);
for(int i=N-1;i>=0;i--)
u=u*x+coef(i);
return u;
}
double sqrt(double b)
{
double x=1;int step=0;
while((x*x-b<-0.000000000000001||x*x-b>0.000000000000001)&&step<50)
{x=(b/x+x)/2.0;step++;}
return x;
}//开平方
double ln(double x)//ln(1+x)=x-x^2/2+x^3/3-x^4/4……
{
if(x>1.5)
{
for(int i=0;x>1.25;i++)
x=sqrt(x);
return (1<<i)*horner(x-1);
}
else if(x<0.7&&x>0)
{
for(int i=0;x<0.7;i++)
x=sqrt(x);
return (1<<i)*horner(x-1);
}
else if(x>0)
return horner(x-1);
}
double log(double m,double base=10)
{
return ln(m)/ln(base);//换底公式
}
double exp(double x)
{
double sum=1;
for(int i=N;i>0;i--)
{
sum/=i;
sum*=x;
sum+=1;
}
return sum;
}//e^x≈1+x+x^2/2!+x^3/3!+……+x^n/n!
double pow(double m,double n)
{
return exp(n*ln(m));
}
main()
{
printf("100^2.5=");printf("%f\n",pow(100,2.5));
printf("lg(1000)=");printf("%f\n",log(1000));
}
分享到:
相关推荐
本文将深入探讨如何使用C++语言来实现一个基本的日志模块,展示日志的显示和保存功能。 首先,我们需要理解日志的基本概念。日志是程序运行过程中的事件记录,通常包括时间戳、事件级别(如信息、警告、错误)以及...
**log4cplus日志封装log** 在软件开发过程中,日志记录是一项至关重要的任务,它可以帮助开发者追踪程序运行状态,定位错误,以及进行性能分析。`log4cplus`是一个专门为C++设计的开源日志系统,它提供了一种高效、...
需要指出的是,输出信息中总是包含"log4cplus:"前缀,有时候会感觉不爽,这是因为LogLog在实现时候死定了要这么写: LogLog::LogLog() : mutex(LOG4CPLUS_MUTEX_CREATE), debugEnabled(false), quietMode(false)...
**使用log4cplus实现的分目录存放日志服务器完整工程** 在IT行业中,日志管理是系统监控、故障排查和性能分析的关键部分。`log4cplus`是一个开源的日志记录库,它为C++程序员提供了类似Java的log4j功能。这个项目的...
本文将围绕“logc.rar”这个C语言实现的日志记录库进行深入探讨。 标题中的“logc.rar”指的是一个压缩包文件,其中包含了C语言编写的日志记录代码。C语言是一种基础且高效的编程语言,适用于编写底层系统软件,...
本文将深入讲解基于log4cplus-1.2.0-rc5版本自实现的一个appender——RollingAppender,该appender结合了RollingFileAppender和TimeBasedRollingFileAppender的优点,实现了更加完善的日志转储机制。 首先,...
本文将深入探讨log4cplus的使用方法,以及如何通过它实现简单的模拟报警发送程序。 一、log4cplus简介 Log4cplus是基于Apache的log4j项目而设计的,它提供了类似于Java的log4j接口,便于C++程序员使用。该库支持...
log4cplus是基于Apache的log4j项目的一个C++实现,它为C++程序员提供了一个强大的日志记录框架。log4cplus的设计理念是灵活、可配置且易于扩展,它的主要目标是帮助开发者创建易于维护和调试的代码,同时减少日志...
### log4cplus封装知识点详解 #### 一、log4cplus简介 log4cplus是一种基于C++的日志框架,它提供了灵活且强大的日志记录功能,支持多种日志级别,可以方便地将日志信息输出到不同的目的地,如控制台、文件等。其...
log4cplus是基于Apache log4j理念的一个C++日志库,它的设计目标是提供与log4j相似的功能,但针对C++语言进行了优化。log4cplus提供了灵活的日志级别,包括DEBUG、INFO、WARN、ERROR和FATAL,允许开发者控制不同级别...
log4cplus是基于Apache的log4j和log4net项目的一个C++实现,提供了一套完整的日志系统,包括配置、日志级别控制、多种输出方式等功能。其核心理念是通过简单易用的API,实现跨平台的日志管理,提高开发效率。 在Win...
传统的模拟仪器可以通过对数放大器简单实现log10X运算,而在数字化仪器中,这需要通过数字信号处理器(DSP)来完成。DSP实现log10X运算的直接调用效率较低,无法满足高速处理环境的需求,特别是定点DSP的运算效率远...
Log4Cplus 的DLL文件是运行时所需的组件,它们包含了Log4Cplus 的实际实现。在你的应用程序运行时,会依赖这些DLL来执行日志记录操作。 4. **配置文件**: Log4Cplus 允许通过配置文件来控制日志的行为,例如日志...
《log4cplus封装类详解及其在项目中的应用》 在软件开发中,日志记录是不可或缺的一部分,它能够帮助开发者追踪程序运行状态,定位错误,优化性能。Log4cplus是一个广泛使用的C++日志记录库,它借鉴了Java的log4j...
在本项目中,我们关注的是如何使用C语言来实现一个日志(log)功能,这是一项非常实用的技能,特别是在开发需要记录系统运行状态或调试问题的应用时。日志功能可以帮助开发者追踪程序的执行过程,定位错误,以及了解...
Log4cplus是Apache Log4j的一个C++实现,它提供了一个简单而强大的接口来管理应用程序的日志输出。本文将详细介绍如何在Windows环境下使用log4cplus-2.0.5版本,并基于Visual Studio 2015进行编译和应用。 一、log4...
log4cplus是源自Java世界的log4j的C++实现,旨在提供与log4j类似的接口和功能,便于C++程序员进行日志管理。这个开源库的核心理念是模块化、可配置和可扩展,允许开发者根据项目需求定制日志输出的方式和级别。 二...
**log4cplus 包详解** `log4cplus` 是一个开源的日志记录库,设计用于C++程序,它的灵感来源于Java中的log4j。这个包提供了灵活且可扩展的日志记录功能,使得开发者能够方便地管理和控制应用程序的输出信息。在...