在C语言中,可以使用标准库中的数学函数来进行对数运算。常用的对数运算函数有 `log`、`log10` 和 `log2`。下面是这些函数的使用方法和示例代码:
log() 函数
功能:计算自然对数(以e为底)。
原型:`double log(double x);`
使用示例:
```c
include include int main() { double num = 2.71828; double result = log(num); printf("log(%lf) = %lf\n", num, result); return 0; } ``` 功能:计算以10为底的对数。 原型:`double log10(double x);` 使用示例: ```c include include int main() { double num = 1000; double result = log10(num); printf("log10(%lf) = %lf\n", num, result); return 0; } ``` 功能:计算以2为底的对数。 原型:`double log2(double x);` 使用示例: ```c include include int main() { double num = 8; double result = log2(num); printf("log2(%lf) = %lf\n", num, result); return 0; } ``` 注意事项 这些函数都要求输入的参数 `x` 必须大于0,否则会产生错误并设置 `errno` 值。 如果需要计算不同底数的对数,可以使用换底公式:`loga(b) = logc(b) / logc(a)`,其中 `a` 为底数,`b` 为真数,`c` 可以是任意的底数。 示例代码总结 ```c include include int main() { double num, natural_log, log_base_10, log_base_2; printf("请输入一个正数: "); scanf("%lf", &num); if (num > 0) { natural_log = log(num); log_base_10 = log10(num); log_base_2 = log2(num); printf("自然对数(以e为底): %.2lf\n", natural_log); printf("以10为底的对数: %.2lf\n", log_base_10); printf("以2为底的对数: %.2lf\n", log_base_2); } else { printf("无效的输入,请输入一个正数。\n"); } return 0; } ``` 这个程序首先提示用户输入一个正数,然后计算并输出该数的自然对数、以10为底的对数和以2为底的对数。log10() 函数
log2() 函数