JavaScript可以很好地处理以下数学:
var result = (20000000 * 48271) % 0x7FFFFFFF;
但是在某些编程语言中,第一次int*int
乘法会导致值太大而无法容纳标准的32位整数。是否有任何方法可以在JavaScript中“模拟”,并查看如果乘法导致整数溢出,结果将是什么?
通过“滥用” JavaScript中可用的按位运算符可以模拟32位整数(因为它们只能返回该范围内的整数)。
转换为带符号的32位整数:
x = (a * b) | 0;
转换为无符号的32位整数:
x = (a * b) >>> 0;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句