Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.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 JS中整数除法的精确性_Javascript_Floating Point_Precision_Division - Fatal编程技术网

Javascript JS中整数除法的精确性

Javascript JS中整数除法的精确性,javascript,floating-point,precision,division,Javascript,Floating Point,Precision,Division,如果a和b是小于Number的正整数。MAX_SAFE_INTEGER和a可被b整除,是否保证控制台.log(a/b)将输出一个整数(而不是以.99999999999结尾的数字)?此外,a%b===0是否始终有效?至少基于ECMAScript标准,规则中提到语言不执行整数除法,在典型情况下,商是使用IEEE 754-2008四舍五入到最近,与偶数模式相关,计算并四舍五入到最近的可表示值 因此,如果分子(在安全范围内)可被非零分母均匀整除,则结果必然是一个数学整数,因为它可以表示为一 这与%相同,

如果
a
b
是小于
Number的正整数。MAX_SAFE_INTEGER
a
可被
b
整除,是否保证
控制台.log(a/b)
将输出一个整数(而不是以
.99999999999
结尾的数字)?此外,
a%b===0
是否始终有效?

至少基于ECMAScript标准,规则中提到语言不执行整数除法,在典型情况下,商是使用IEEE 754-2008四舍五入到最近,与偶数模式相关,计算并四舍五入到最近的可表示值

因此,如果分子(在安全范围内)可被非零分母均匀整除,则结果必然是一个数学整数,因为它可以表示为一


这与
%
相同,在这种情况下会产生0。

是的,两个整数的整数商总是可表示的,因此必须生成它。类似地,
%
运算符必须产生零。舍入模式是不相关的。IEEE 754格式并不表示“整型值和浮点值”。它们表示浮点值,其中一些在数学上是整数。@EricPostChil感谢您让我对它的理解更加清晰!