【问题标题】:Why can we not use a variable as value of e in C为什么我们不能在 C 中使用变量作为 e 的值
【发布时间】:2014-04-22 08:43:21
【问题描述】:

我的编译器不断给我错误,我需要为此使用数字:

xek

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

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

x = 4ek;
}

【问题讨论】:

  • 请展示一些实际的 C 代码。
  • e 表示法用于编译时常数,k 的值直到运行时才知道。
  • 非常感谢;但是,pmg 在下面已经完全回答了这个问题。 4ek 不是将4 提升到k 幂的表达式,其中k 是一个变量。
  • @Bgie :我认为你是在 OP 的问题中唯一回答 why?? 的人.. :)

标签: c exponent


【解决方案1】:

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 因此基本上在kth 循环运行x = 4*exp(k);

【讨论】:

    【解决方案2】:

    你需要

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      • 2023-04-06
      • 2011-10-17
      • 2021-09-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多