繁体   English   中英

1.e0在以下代码中是什么意思

[英]What does 1.e0 mean in the following code

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

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

那里的力量是十的力量。 基本上, e后面的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

您可以在计算器上看到此表示法。 当结果太大而不能显示在屏幕上时,计算器将自动切换到指数表示法。

在此处输入图片说明

在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方法(双精度,双精度) (msdn)

假设pow into势,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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM