JavaScriptの整数計算と剰余
JavaScriptにおける整数除算と剰余の取得
JavaScriptでは、整数除算と剰余を計算するために、以下の演算子を使用します。
- %
剰余演算子(モジュロ演算子) - /
除算演算子
整数除算
整数除算は、2つの数値を割り算し、商の整数部分を取得します。
let quotient = 10 / 3; // quotient = 3
上記の例では、10
を3
で割った商の整数部分が3
になります。
剰余の取得
剰余は、除算の余り部分を取得します。
let remainder = 10 % 3; // remainder = 1
組み合わせた使用
整数除算と剰余を組み合わせて、さまざまな計算を行うことができます。
let dividend = 20;
let divisor = 7;
let quotient = Math.floor(dividend / divisor); // quotient = 2
let remainder = dividend % divisor; // remainder = 6
console.log("商:", quotient);
console.log("剰余:", remainder);
この例では、20
を7
で割った商と剰余を計算し、コンソールに出力します。
注意
- 剰余演算子は、負の除数でも正の剰余を返します。
- JavaScriptの除算は、デフォルトで浮動小数点数を返します。整数除算の結果を整数型として取得するには、
Math.floor()
関数を使用して小数点以下を切り捨てる必要があります。
整数除算と剰余の計算
let dividend = 20; // 被除数
let divisor = 7; // 除数
// 整数除算
let quotient = Math.floor(dividend / divisor); // 商 (2)
// 剰余
let remainder = dividend % divisor; // 剰余 (6)
console.log("商:", quotient);
console.log("剰余:", remainder);
剰余の応用例: 偶数・奇数の判定
let number = 15;
if (number % 2 === 0) {
console.log("偶数です");
} else {
console.log("奇数です");
}
剰余の応用例: 桁数の取得
let number = 12345;
let digits = 0;
while (number > 0) {
number = Math.floor(number / 10);
digits++;
}
console.log("桁数:", digits);
剰余の応用例: 周期的なパターン
let index = 0;
let patternLength = 5;
while (true) {
let element = index % patternLength;
console.log(element);
index++;
}
ビットシフト演算
JavaScriptでは、ビットシフト演算を使用して、整数除算と剰余を効率的に計算することができます。
let quotient = dividend >> divisor;
剰余
let remainder = dividend & (divisor - 1);
ただし、ビットシフト演算は、除数が2のべき乗である場合にのみ正確な結果を返します。
自作関数
整数除算と剰余を計算する関数を自作することもできます。
function integerDivision(dividend, divisor) {
let quotient = 0;
let remainder = dividend;
while (remainder >= divisor) {
remainder -= divisor;
quotient++;
}
return { quotient, remainder };
}
この関数は、繰り返し除算と減算を行い、商と剰余を計算します。
ライブラリ
JavaScriptの数学ライブラリやユーティリティライブラリの中には、整数除算と剰余を計算する関数を提供しているものもあります。これらのライブラリを使用することで、より簡潔なコードを書くことができます。
- 自作関数やライブラリを使用する場合は、パフォーマンスや正確性を考慮する必要があります。
javascript math modulo