Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.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
javascript算法中的溢出_Javascript_Math_Absolute Value - Fatal编程技术网

javascript算法中的溢出

javascript算法中的溢出,javascript,math,absolute-value,Javascript,Math,Absolute Value,我在读一本书,遇到了这个问题 JavaScript中的算术在溢出时不会产生错误, 下溢,或被零除。当数值运算的结果 大于最大可表示数(溢出),则 是一个特殊的无穷大值,无穷大。同样,当绝对 负值的值大于的绝对值 最大可表示负数,结果为负数 无限,-无限 负数的绝对值的结果怎么可能导致负数呢?它不是这么说的。如果-10是最大的可表示负数,x是11,那么结果是-infinity,这背后是否有合理的原因?我还注意到>>Math.pow(-3,99)/-1.7179250697045e+47。因此-3乘

我在读一本书,遇到了这个问题

JavaScript中的算术在溢出时不会产生错误, 下溢,或被零除。当数值运算的结果 大于最大可表示数(溢出),则 是一个特殊的无穷大值,无穷大。同样,当绝对 负值的值大于的绝对值 最大可表示负数,结果为负数 无限,-无限


负数的绝对值的结果怎么可能导致负数呢?它不是这么说的。如果-10是最大的可表示负数,x是11,那么结果是
-infinity
,这背后是否有合理的原因?我还注意到>>Math.pow(-3,99)/-1.7179250697045e+47。因此-3乘以99的幂得到了一个可表示的负数(当使用Math.abs()时,它应该被转换为它的绝对值,这就是实际发生的情况,即…,>>Math.abs(Math.pow(-3,99))//1.7179250691067045e+47,但是>>Math.pow(-3999)//-Infinity,这里-3的999次幂是一个溢出/绕过了最大的可表示数,所以当我得到这个数的绝对值时,应该得到-Infinity,但它不>>Math.abs(Math.pow(-3999))//Infinity@polendina绝对数永远不会是负数。
Math.abs(-无穷大)===无穷
@polendina对我来说,如果用无穷表示溢出,那么下溢将是-无穷
一个绝对数永远不会是负数,这是我困惑的原因,正如你解释的,作者的意思是
如果| x |>最大可表示负数|=>-无穷