JavaScript 中的整数除法

Ammar Ali 2023年1月30日 2021年7月3日
  1. 使用 JavaScript 中的 Math 库获取整数除法的商和余数
  2. 使用 JavaScript 中的按位运算符获取整数除法的商和余数
JavaScript 中的整数除法

本教程将讨论如何使用 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

如你所见,输出与上述方法相同。

Author: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

相关文章 - JavaScript Math