JavaScript 中的整數除法

Ammar Ali 2023年10月12日
  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

如你所見,輸出與上述方法相同。

作者: 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