什么是“;“正”;以及“;否定的“;ECMAScript中的平均值+0和-0
What do "positive" and "negative" mean in ECMAScript? +0 and -0
我正在阅读ECMAScript 5.1规范。它说:
slice
方法接受两个参数,start和end[…]。如果start为负数,则将其视为length+start其中length是数组的长度。如果end为负数,则将其视为length+endlength,其中length为长度数组的。
"消极"是什么意思?这是有道理的,就像在数学中一样,
- 如果
num > 0
,则num
为正 - 如果
num < 0
,则num
为负
但+0
和-0
呢?数学中只有一个0
,它既不是正的也不是负的。我的猜测是,在ECMAScript中,
+0
(又称正零点)是正的-0
(又称负零点)为负
但我尝试将-0
与slice
一起使用,浏览器将其视为非负面。
那么,+0
和-0
都是非阳性和非阴性的吗?
一个数的正性或负性在哪里定义?我没有在ECMAScript规范中找到定义。这个定义是从IEEE 754继承的吗?
您的困惑在于这一部分:
但是
+0
和-0
呢?数学中只有一个0
,它既不是正的也不是负的。我的猜测是,在ECMAScript中,
+0
(又称正零点)为正-0
(又称负零点)为负
CCD_ 20不阳性;CCD_ 21不是阴性。从概念上讲,它们都表示数字零,或者,当发生下溢时,表示幅度太小而无法用有限数量的可用比特表示的任何数字。
拥有CCD_ 22和CCD_ 23的决定更多地来自IEEE而不是ECMA。
如果不区分文字+0
和-0
(分别表示数学值0)和值+0
和-0
(分别表示内存中的
- 可以以双精度64位数据格式存储的从0到最小正实数的任何数学值
- 从可以以双精度64位数据格式存储的最大负实数到0的任何数学值
如果您有一个包含Number
实例-0
的变量,它可以表示实数0(显然没有符号),也可以表示实数10^-10000。
如果您在代码中看到文字-0
或+0
,这将被解释为实数0,它被存储(就像任何足够小但实际上不是0的实数一样)为Number
-0
或+0
,视情况而定
以下是规范中的一些相关部分,有望澄清问题:
- 数字文字
Number
型- 算法约定
- 为什么选择
-0===+0
术语"正数"answers"负数"确实在ECMAScript规范中定义:
8.5号码类型
Number类型恰好具有18437736874454810627(即,264−253+3)值[…]
9007199254740990(即253−2)IEEE标准的"非数字"值表示在ECMAScript作为单个特殊NaN值〔…〕
还有另外两个特殊值,称为正无穷大和负无限[…]
另一个18437736874454810624(即,264−253)的值称为有限数。其中一半是正数,一半是负数数字;对于每个有限的正数,都有一个具有相同大小的相应负值。
因此,
- 由于
+0
和-0
是这些有限数中的两个,所以每个都必须是正或负 - 由于每个有限的正数都必须有一个负的对应物,所以
+0
是正的,-0
是负的,或者相反 - 如果正零是负数,而负零是正数,那就太离谱了。所以我们可以(可能)假设
+0
是正的,-0
是负的
然而,根据以下公式,+0
和-0
都不能为负:
5.2算法惯例
数学函数abs(x)产生x的绝对值,如果x为负(小于零),则为−x本身。
事实上,在大多数情况下,规范似乎将变量为正或负的情况与变量为零的情况区分开来。例如,
5.2算法惯例
如果x为正,则数学函数符号(x)产生1和−1,如果x为负。符号函数在本标准中不用于x为零的情况。
因此,规范是矛盾的
- 平均值:无法将数据更新到数据库
- 使用JS查找数组的平均值
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 使用Google闭包编译器包含一个Ecmascript 6类
- 以ECMAScript 5及更高版本为目标时,八进制文字不可用
- 平均值.on(事件[,选择器][,数据],处理程序)
- JS:从整个数组中每次得到5个项目,并得到平均值
- ES6 (ECMAScript 2015) 模块:导入索引.js
- 将ECMAScript 6析构函数赋值(ES2015)重构为旧版本的javascript
- ECMAScript(ECMA-262 5.1)中“引用”的“基值”是什么
- 当浏览器直接支持基于ECMAScript 6的javascript时,Microsoft Typescript会过时吗
- 按钮类型是什么;按钮“;JavaScript中的平均值
- 编写在浏览器和node.js中运行的模块化ECMAScript
- 计算数据点阵列与平均值的最大距离,并返回相关数据点
- ECMAScript 6的哪些特性意味着严格模式
- 当我添加一个新数字时,如何获得一些数字的即时平均值
- ECMAScript 2015(ECMAScript6)是否具有类初始值设定项
- 类型错误:无法读取开机自检后未定义的属性“正文”(平均值)
- 什么是“;“正”;以及“;否定的“;ECMAScript中的平均值+0和-0
- 什么是“@"ecmascript 6中的字符平均值