幂函数
double pow(double x, double y)
函数简介
用于计算 x 的 y 次幂
参数介绍
- x: 底数,可以是正数、负数或零。
- y: 指数,可以是整数或非整数。
返回值
函数返回计算结果,即 x 的 y 次幂。结果的类型是 double
。
函数用法
#include <stdio.h>
#include <math.h>
int main() {
double bases[] = {2.0, -2.0, 0.0, 2.0};
double exponents[] = {3.0, 3.0, 0.0, -2.0};
int num_values = sizeof(bases) / sizeof(bases[0]);
for (int i = 0; i < num_values; i++) {
double x = bases[i];
double y = exponents[i];
double result = pow(x, y);
printf("pow(%f, %f) = %f\n", x, y, result);
}
return 0;
}
pow(2.000000, 3.000000) = 8.000000
pow(-2.000000, 3.000000) = -8.000000
pow(0.000000, 0.000000) = 1.000000
pow(2.000000, -2.000000) = 0.250000
请按任意键继续. . .
double sqrt(double x)
函数简介
用于计算一个数的平方根
参数介绍
- x: 需要计算平方根的数值,必须是非负数。
返回值
函数返回 x 的平方根,结果的类型是 double
。如果 x 是负数,则返回一个域错误(domain error),通常表现为返回 NaN(Not a Number)。
函数用法
#include <stdio.h>
#include <math.h>
int main() {
double values[] = {16.0, 25.0, 100.0, -1.0, 0.0};
int num_values = sizeof(values) / sizeof(values[0]);
for (int i = 0; i < num_values; i++) {
double x = values[i];
double result = sqrt(x);
printf("sqrt(%f) = %f\n", x, result);
}
return 0;
}
sqrt(16.000000) = 4.000000
sqrt(25.000000) = 5.000000
sqrt(100.000000) = 10.000000
sqrt(-1.000000) = -1.#IND00
sqrt(0.000000) = 0.000000
请按任意键继续. . .
double exp(double x)
函数简介
用于计算自然对数的底数e(约等于2.71828)的x次幂。
参数介绍
- x: 指数,可以是任何实数。
返回值
函数返回 e 的 x 次幂,结果的类型是 double
。
函数用法
#include <stdio.h>
#include <math.h>
int main() {
double values[] = {0, 0.5, 1, 1.5, 2};
int num_values = sizeof(values) / sizeof(values[0]);
for (int i = 0; i < num_values; i++) {
double x = values[i];
double result = exp(x);
printf("exp(%f) = %f\n", x, result);
}
return 0;
}
exp(0.000000) = 1.000000
exp(0.500000) = 1.648721
exp(1.000000) = 2.718282
exp(1.500000) = 4.481689
exp(2.000000) = 7.389056
请按任意键继续. . .
double ldexp(double x, int exponent)
函数简介
double ldexp(double x, int exponent)
是 C 语言中的一个数学函数,用于将浮点数 x
乘以 2 的 exponent
次幂。这个函数通常与 frexp
函数配合使用,用于将浮点数的有效数和指数部分重新组合成一个浮点数,这在数值计算和处理浮点数的高级操作中非常有用
参数介绍
- x: 需要乘以 2 的指数次幂的浮点数。
- exponent: 以 2 为底的指数,是一个整数。
返回值
该函数返回 x * 2^exponent
的计算结果。如果结果超出了浮点数的表示范围,可能会返回正无穷大或负无穷大,并设置相应的错误标志。
函数用法
#include <stdio.h>
#include <math.h>
int main() {
double x = 4.0;
int exponent = 3;
double result = ldexp(x, exponent);
printf("%f * 2^%d = %f\n", x, exponent, result);
return 0;
}
4.000000 * 2^3 = 32.000000
请按任意键继续. . .
对数函数
double log(double x)
函数简介
double log(double x)
是 C 语言中的一个数学函数,用于计算某个数的自然对数,即以 e(欧拉数,自然对数的底数,约等于 2.71828)为底的对数。
参数介绍
- x: 需要计算自然对数的数值,必须大于 0。
返回值
该函数返回参数 x
的自然对数。如果 x
为正数,返回一个实数;如果 x
为 1,返回 0;如果 x
为负数或 0,返回一个错误值,通常是 NaN(Not a Number)。
函数用法
#include <stdio.h>
#include <math.h>
int main() {
double values[] = {1.0, 2.718281828, 10.0};
int num_values = sizeof(values) / sizeof(values[0]);
for (int i = 0; i < num_values; i++) {
double x = values[i];
double result = log(x);
printf("log(%f) = %f\n", x, result);
}
return 0;
}
log(1.000000) = 0.000000
log(2.718282) = 1.000000
log(10.000000) = 2.302585
请按任意键继续. . .
double log10(double x)
函数简介
用于计算一个数的对数,底数为10。
参数介绍
double x
: 这是函数的参数,表示要计算对数的数值。参数x
必须大于0,因为对数函数在0或负数上是未定义的。
返回值
- 函数返回一个
double
类型的值,表示参数x
的以10为底的对数。如果计算成功,返回对数值;如果x
是0,返回负无穷大;如果x
是负数,返回NaN(不是一个数字)。
函数用法
#include <stdio.h>
#include <math.h>
int main ()
{
double x, ret;
x = 10000;
/* 计算 log10(10000) */
ret = log10(x);
printf("log10(%lf) = %lf\n", x, ret);
return(0);
}
log10(10000.000000) = 4.000000
标签:幂函数,函数,int,double,对数函数,values,result,include,math
From: https://blog.csdn.net/2401_82772407/article/details/142579310