Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.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 - Fatal编程技术网

Javascript-轻微的除法错误

Javascript-轻微的除法错误,javascript,math,Javascript,Math,可能重复: 是我干的 this.cues = [] for(var i, i = 1; i <= 8; i++){ cue = this.length * (i/8.0) this.cues.push(cue) this.cues=[] 对于(var i,i=1;i这是意料之中的。计算机上的操作之所以如此,是因为它们存储在计算机内部的方式。有关更多信息,我建议您阅读 将无穷多个实数压缩为有限位数 需要一个近似表示。虽然有无限 许多整数,在大多数程序中,整数计算的结果可以

可能重复:

是我干的

this.cues = []
for(var i, i = 1; i <= 8; i++){
    cue = this.length * (i/8.0)
   this.cues.push(cue)
this.cues=[]
对于(var i,i=1;i这是意料之中的。计算机上的操作之所以如此,是因为它们存储在计算机内部的方式。有关更多信息,我建议您阅读

将无穷多个实数压缩为有限位数 需要一个近似表示。虽然有无限 许多整数,在大多数程序中,整数计算的结果可以 以32位存储。相反,给定任何固定位数, 大多数实数计算会产生 无法使用那么多位精确表示。因此 浮点计算的结果通常必须按顺序四舍五入 以适应其有限表示。此舍入误差为 浮点运算的特点


你应该读到:“这就是浮点数在计算机上的表示方式。

另一个双精度-我得到的,它刚好是.000002。应该没有理由关闭它,因为8.0在IEEE-754中是完全可以表示的,正如你的合理大小的整数除以它一样。
这个.length
的值是多少?375.386658-有趣的是,一个单一的反对声音,但代表性极高:)这就是为什么;你原来的数字不太准确<代码>>>>(375.386658).hex()
'0x1.7762fc04c8bcap+8'
>>'.25f'%375.386658
'375.3866580000000112704583444'