1.e0在以下代码中的含义是什么

时间:2016-09-05 19:21:21

标签: c# c++ c

1.e0在以下代码中的含义

product *=
 ((1.e0-pow((double)2,i-32))*(1.e0-pow((double)2,i-32)))/(1.e0-pow((double)2,i-r));

这是c ++代码,以及如何在c#

中编写1.e0

2 个答案:

答案 0 :(得分:1)

假设pow正在上台,C#代码将

product *= (1.0 - Math.Pow(2, i - 32)) *
           (1.0 - Math.Pow(2, i - 32)) /
           (1.0 - Math.Pow(2, i - r)); 

正如您所看到的,1.e0只是1.0 - double代表1

答案 1 :(得分:1)

<number>e<power> = <number> * 10^<power>

权力是十的力量。基本上e之后的数字会告诉你,如果它是正数,你必须追加多少个零。负数使数字向右移动一位数。

实施例

1.2e-3 = 1.2 * 10^-3 = 1.2 *    0.001 =    0.0012
1.2e-2 = 1.2 * 10^-2 = 1.2 *    0.01  =    0.012
1.2e-1 = 1.2 * 10^-1 = 1.2 *    0.1   =    0.12
1.2e0  = 1.2 * 10^0  = 1.2 *    1     =    1.2
1.2e1  = 1.2 * 10^1  = 1.2 *   10     =   12
1.2e2  = 1.2 * 10^2  = 1.2 *  100     =  120
1.2e3  = 1.2 * 10^3  = 1.2 * 1000     = 1200

您可以在计算器上看到这种表示法。当结果太大而不适合显示时,计算器会自动切换到指数表示法。

enter image description here

在C#中你会写下这样的公式:

product *= (1 - Math.Pow(2, i - 32)) * (1 - Math.Pow(2, i - 32)) /
           (1 - Math.Pow(2, i - r));

double的转化会自动发生。一对括号是多余的。一个子表达式出现两次,你可以写:

double temp = 1 - Math.Pow(2, i - 32);
product *= temp * temp / (1 - Math.Pow(2, i - r));

请参阅: - Math.Pow Method (Double, Double)(msdn)

相关问题