gpt4 book ai didi

c# - C# MSCorLib 中没有运算符的乘法?

转载 作者:太空宇宙 更新时间:2023-11-03 17:31:04 25 4
gpt4 key购买 nike

我正在研究 MSCoreLib,发现了一些有趣的东西。

我什至不知道它是如何工作的。

(引用 http://referencesource.microsoft.com/#mscorlib/system/math.cs 第 32 行)

   // This table is required for the Round function which can specify the number of digits to round to
private static double[] roundPower10Double = new double[] {
1E0, 1E1, 1E2, 1E3, 1E4, 1E5, 1E6, 1E7, 1E8,
1E9, 1E10, 1E11, 1E12, 1E13, 1E14, 1E15
};

public const double E = 2.7182818284590452354;

看来他们正在创建一个双数组。然后,对每个值乘以 1 * E * nth。这就是 APPEARS 正在发生的事情,但是他们没有使用任何运算符?

这是什么黑魔法?

最佳答案

不,您对符号感到困惑。

2e4 == 2E4 == 20000

仅表示 2 * 10^4。 eE 是“指数”的表示法。防止一个人写很多零是很有用的。第二个 E 与第一个无关。第二个是标识符。但是 double 字面量(以及一般字面量)中不允许使用标识符。

示例:

假设你想存储阿伏加德罗常数,那么你可以这样写:

double Avogadro = 602300000000000000000000.0;

但这很令人困惑(因为您需要计算零,而且很容易出错)。但是可以这样写:

double Avogadro = 6.023e23;

关于c# - C# MSCorLib 中没有运算符的乘法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25140377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com