为什么我们不能在C中使用变量作为e的值

时间:2014-04-22 08:43:22

标签: c exponent

我的编译器一直给我一个错误,我需要使用一个数字:

xek

其中k应该是使用指数函数的x的幂,例如:

double x ;
for (int k = 1 ; k < 10; k++){

x = 4ek;
}

2 个答案:

答案 0 :(得分:4)

C对浮点数有e符号。它具有特殊格式说明符%e%E,只是用e表示法打印浮点数。但是指数和尾数都不可变。

x = 4.0e7;完全没问题。

但要拥有可变功率,您需要使用标准math库函数exppow

x = pow(4, k);

x = 4 * exp(k);

您在循环中使用它的方式,您可以通过以下方式保留上次计算的值来优化它:(假设x在循环开始之前初始化为1。)

x = x * 4;

每次循环运行x乘以4,因此基本上在k循环运行x = 4*exp(k);

答案 1 :(得分:3)

你需要

#include <math.h>
pow(x, k);           // x to the power k
x * exp(k);          // x multiplied by e to the k