JavaScript 中的整数除法
Ammar Ali
2023年10月12日
本教程将讨论如何使用 Math
库和 JavaScript 中的按位运算符获取除法的商和余数。
使用 JavaScript 中的 Math
库获取整数除法的商和余数
在 JavaScript 中,我们可以很容易地将两个变量相除,结果是浮点数,但是如果我们想要得到相除的商和余数,我们可以使用 Math
库,为我们提供了很多函数。例如,我们可以使用 Math.floor()
或 Math.trunc()
函数获取除法的商,该函数将浮点数转换为整数,并获得余数,我们可以使用%
特点。例如,让我们找出 13 除以 5 的商和余数。请参考下面的代码。
var a = 13;
var b = 5;
var quo = Math.floor(a / b);
var rem = a % b;
console.log('Quotient = ', quo, 'Remainder = ', rem);
输出:
Quotient = 2 Remainder = 3
请注意,如果数字太大,Math
库将失败。你还可以使用 Math.trunc()
函数,与 Math.floor()
函数相比,它可以处理大数字。Math.floor()
函数在负数的情况下会失败,但 Math.trunc()
不会在负数的情况下失败。
使用 JavaScript 中的按位运算符获取整数除法的商和余数
在 JavaScript 中,我们可以使用按位运算符获取除法的商和余数。例如,我们可以使用按位 NOT
~~
或按位 OR
|0
获得除法的商,它将浮点数转换为整数。为了得到余数,我们可以使用%
字符。例如,让我们找出 13 除以 5 的商和余数。请参考下面的代码。
var a = 13;
var b = 5;
var quo = ~~(a / b);
var rem = a % b;
console.log('Quotient = ', quo, 'Remainder = ', rem);
输出:
Quotient = 2 Remainder = 3
如你所见,输出与上述方法相同。与 Math
库相比,按位运算符的性能更高,但处理大数的能力更小。因此,如果你的数字很小,则可以使用按位运算符;否则,请使用 Math
库。按位运算符也可以处理负数。你还可以使用 parseInt()
函数将浮点数转换为整数。如果你不想使用任何函数,你可以使用带有余数运算符 %
的简单公式,如下所示。
var a = 13;
var b = 5;
var rem = a % b;
var quo = (a - rem) / b;
console.log('Quotient = ', quo, 'Remainder = ', rem);
输出:
Quotient = 2 Remainder = 3
如你所见,输出与上述方法相同。
作者: Ammar Ali