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