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感谢您让我对它的理解更加清晰!