JavaScript 数字中的 'e' 含义是什么?

33
我需要理解以下内容:
当我在Google Chrome的控制台中输入4e4时,它会返回40000
请问有没有人能帮我理解JavaScript数字中的e是什么,以及这背后的算法是什么?
提前致谢。

4
科学计数法是一种用于表示非常大或非常小的数字的方法。它使用基数为10的幂来表示数字,称为指数,和一个介于1到10之间的数字,称为尾数。例如,6,022×10²³就是阿伏伽德罗常数的科学计数法表示方式,其中6,022是尾数,而10²³是指数。这种表示法可以使大数字更易于理解和处理。 - Emissary
4
当使用Python编程语言时,表达式"4*10**4"等同于"4e4"。 - dandavis
1
谢谢dandavis...这是最容易理解的方式。我明白了。 - Bhupi
4个回答

17

4e4是浮点数表示法,它包括:

  1. 符号 - S(+或-)
  2. 尾数 - M(一些数字,标准化: 1.x,其中x是一些数字序列)
  3. 指数 - E(表示Mantissa(M)乘以的10的幂)

这也是浮点数在系统中存储的方式。例如,对于单精度,我们得到:

单精度浮点数表示法

综合起来,我们得到:

-1^S * M * p^E其中p数字系统的基数

因此,在常识中,p可以是任何值,使得4e4也可以是4 * 5^4 如果 p == 5

由于我们通常使用十进制值,所以p等于10

正如之前回答的那样,4e4 == 4 * 10^4 (在这种情况下,4是一个十进制值)


这个答案混淆了浮点数的内部二进制表示和十进制科学计数法启发式表示。特别是,对于尾数的注释“规范化:1.x”在基数2之外没有任何意义。 - Stef
OP的问题与浮点数有关,但这并不是原因。它涉及到科学计数法中的浮点表示,正如其他人所指出的那样。无论是double、single还是任何精度都与此无关。 - theking2

14

在这样的数字中,'e'表示“乘以10的几次幂”

3.2e6等同于3.2x10^6


7

4*10^4

如果这个数字是4e5,那么它就等于4*10^5。 等等。

所有答案中最简单的一个 - lasec0203

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接