我的编译器一直给我一个错误,我需要使用一个数字:
xek
其中k应该是使用指数函数的x的幂,例如:
double x ;
for (int k = 1 ; k < 10; k++){
x = 4ek;
}
答案 0 :(得分:4)
C对浮点数有e
符号。它具有特殊格式说明符%e
和%E
,只是用e
表示法打印浮点数。但是指数和尾数都不可变。
x = 4.0e7;
完全没问题。
但要拥有可变功率,您需要使用标准math
库函数exp
或pow
。
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