Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#MSCorLib中的无运算符乘法?_C#_Mscorlib - Fatal编程技术网

C#MSCorLib中的无运算符乘法?

C#MSCorLib中的无运算符乘法?,c#,mscorlib,C#,Mscorlib,我在挖掘MSCoreLib,发现了一些有趣的东西 我不知道这是怎么回事 (参考第32行) 看起来他们正在创建一个双数组。然后,将每个值乘以1*E*n。这似乎是正在发生的事情,但是他们没有使用任何操作符 这是什么黑魔法 不,你被符号弄糊涂了 2e4 == 2E4 == 20000 简单地说就是2*10^4e或e是“指数”的符号。防止写入大量零是很有用的。第二个E与第一个无关。第二个是标识符。但是double文本(以及一般文本)中不允许使用标识符 示例: 假设您希望存储阿伏伽德罗常数,则可以编写:

我在挖掘MSCoreLib,发现了一些有趣的东西

我不知道这是怎么回事

(参考第32行)

看起来他们正在创建一个双数组。然后,将每个值乘以
1*E*n
。这似乎是正在发生的事情,但是他们没有使用任何操作符


这是什么黑魔法

不,你被符号弄糊涂了

2e4 == 2E4 == 20000
简单地说就是2*10^4
e
e
是“指数”的符号。防止写入大量零是很有用的。第二个
E
与第一个无关。第二个是标识符。但是
double
文本(以及一般文本)中不允许使用标识符

示例

假设您希望存储阿伏伽德罗常数,则可以编写:

double Avogadro = 602300000000000000000000.0;
但这是令人困惑的(因为你需要数零,而一个很容易出错)。然而,人们可以这样写:

double Avogadro = 6.023e23;

不,你被符号弄糊涂了

2e4 == 2E4 == 20000
简单地说就是2*10^4
e
e
是“指数”的符号。防止写入大量零是很有用的。第二个
E
与第一个无关。第二个是标识符。但是
double
文本(以及一般文本)中不允许使用标识符

示例

假设您希望存储阿伏伽德罗常数,则可以编写:

double Avogadro = 602300000000000000000000.0;
但这是令人困惑的(因为你需要数零,而一个很容易出错)。然而,人们可以这样写:

double Avogadro = 6.023e23;
语法“1E3”只是表达
1*10^3
的一种简捷方式。这只是一个编译技巧。但是,请注意,这是一个编译时常量。您不能在其中使用变量。但是,您可以使用小数:
2.57E4
=25700。

语法“1E3”只是表达
1*10^3
的一种简捷方式。这只是一个编译技巧。但是,请注意,这是一个编译时常量。您不能在其中使用变量。但是,您可以使用小数:
2.57E4
=25700。

这是
1E2
表示
1*10^2
或更一般地说,
xEy=x*10^y
。您也可以使用小写的
e

下面定义的公共常数double E=2.7182818284590452354是一个不相关的(但非常重要!)。

这是
1E2
表示
1*10^2
或更一般地说,
xEy=x*10^y
。您也可以使用小写的
e


下面定义的
public const double E=2.7182818284590452354
是一个不相关的(但非常重要!)。

如何工作?除了那个数组和那个E之外,你指的是什么?不。这是语法允许的,你可以在代码中正常使用它:
var myDouble=1e3
。它的基本意思是(e是“指数”的快捷方式):
1*10^3
。我想您可能感到困惑,因为您找到了一个名为
e
的常数。但是数组中的
E
不是该常量的名称。它是一种文字符号,意思是
x10^
。因为它是文字,所以也不是乘法。它被直接编译成一个特定的数字。顺便说一句:不要把粘贴在源代码中的常量标记与
e
混在一起。有两个不同的东西。@sasjaq它不是Euler常数(Euler常数大约等于0,5)-它是Euler数(自然对数的底数)。什么是工作原理?除了那个数组和那个E之外,你指的是什么?不。这是语法允许的,你可以在代码中正常使用它:
var myDouble=1e3
。它的基本意思是(e是“指数”的快捷方式):
1*10^3
。我想您可能感到困惑,因为您找到了一个名为
e
的常数。但是数组中的
E
不是该常量的名称。它是一种文字符号,意思是
x10^
。因为它是文字,所以也不是乘法。它被直接编译成一个特定的数字。顺便说一句:不要把粘贴在源代码中的常量标记与
e
混在一起。这里有两个不同的东西。@sasjaq它不是Euler常数(Euler常数等于0,5左右)-它是Euler数(自然对数的底数)好的,这就是我认为它在做的。我很困惑,因为他们在数组的正下方声明了一个变量,这个变量名就是lol…,好吧,这就是我认为它在做的事情。我只是感到困惑,因为他们在数组的正下方声明了一个变量,这个变量名就是lol。。