JavaScript の整数除算

Ammar Ali 2023年10月12日
  1. JavaScript の Math ライブラリを使用して、整数除算の商と剰余を取得する
  2. JavaScript のビット演算子を使用して整数除算の商と剰余を取得する
JavaScript の整数除算

このチュートリアルでは、JavaScript の Math ライブラリとビット演算子を使用して、商と除算の余りを取得する方法について説明します。

JavaScript の Math ライブラリを使用して、整数除算の商と剰余を取得する

JavaScript では、2つの変数を簡単に除算でき、結果は浮動小数点数になりますが、除算の商と剰余を取得する場合は、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.floor() 関数と比較して多数を処理できる Math.trunc() 関数を使用することもできます。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