数字文字混淆中的 JavaScript 指数
Posted
技术标签:
【中文标题】数字文字混淆中的 JavaScript 指数【英文标题】:JavaScript exponent in Number literal confusion 【发布时间】:2019-06-18 21:08:39 【问题描述】:也许是时候再喝杯咖啡了,但我看到了一个我没想到的奇怪问题。
我正在阅读 javascript The Good Parts,在语法部分我看到以下内容:
如果数字文字有指数部分,那么 文字是通过将 e 之前的部分乘以 10 来计算的 e之后的部分的幂。所以 100 和 1e2 是一样的 号码。
从 pg. 8 个 JavaScript:Douglas Crockford 的优秀部分。版权所有 2008 雅虎!公司,978-0-596-51774-8。
我认为 2e2 应该等于 400 是不正确的吗?
按照书上的说法,这个值不应该是(2*10)^2吗?
在我的控制台中,它显示 2e2 == 200.. 我的数学、阅读理解或其他任何东西都关闭了吗?我需要回到基础代数吗?
提前致谢。
【问题讨论】:
应该是 2 * (10^2)2e2
= 2*10^2
- 标准scientific notation
@VLAZ 只是我,还是这本书对您来说也读错了?操作顺序(至少从我在本节中读到的内容)是取 2(从“e”的左侧开始)并将其乘以 10,然后将其提升到 e 之后的部分......?我假设我只需要复习科学记数法?
@user2879041 不,这绝对正确。正如我所说,2e2
= 2*10^2
。运算的顺序是先幂,然后是乘法。
很公平。将关闭问题。阅读困难
【参考方案1】:
2e2
被解释为2*(10^2)
而不是(2*10)^2
。前者计算为2 * 100
,等于200。后者计算为20 ^ 2
,这就是你得到400的原因。
【讨论】:
谢谢。这本书的唯一示例在两种情况下都评估为 100(1e2)并没有帮助【参考方案2】:这里 e 之前的部分是 2。
e 之后的部分是 2。
10 在 e = Math.pow(10,2) 为 100 之后的部分的幂
所以将 e 之前的部分乘以 10 的 e 之后的部分的幂是2*Math.pow(10,2) = 200.
【讨论】:
以上是关于数字文字混淆中的 JavaScript 指数的主要内容,如果未能解决你的问题,请参考以下文章
机器学习系列模型评价ROC曲线约登指数最佳阈值一个函数中实现约登指数计算并集成到ROC图中,给出默认阈值及最佳阈值下的混淆矩阵
CAD图中的数字都是动态块,数字只能在属性编辑器里修改。现在需要将块中的数值数字保存为多行文字,求高手
javascript或css:如何隐藏标签内的文本中的任何数字,后跟点前缀“1.text”,“2.text”...“30.text”