剰余演算 【モジュロ演算】 mod / modulo operation / modulus operation
概要
剰余演算(モジュロ演算)とは、割り算の余り(剰余:remainder)を求める演算。ある数値(通常は整数)を他の数値で除算する際に、割り切れずに余った数を求める。数値aをbで割る計算(a/b、a÷b)で、商を整数とした時に割り切れずにあまった値のことを指し、これを「a mod b」のように表記する。例えば、aが5、bが2の場合、a÷b=2…1となるため、「a mod b」は1となる。
コンピュータでは剰余演算を様々な場面で用いるため、多くのプログラミング言語にも除算とは別に剰余演算を行う機能やそのための演算子、関数などが組み込まれている。C言語では「%」(パーセント記号)が剰余演算子であるため、その記法を受け継ぐ多くの言語(C++言語やC#、Java、JavaScriptなど)が%を用いるが、「mod」「MOD」などとする言語も多い。
言語によって演算対象を整数のみとする場合と、浮動小数点数など実数を含む数値型に対応している場合がある。負数を含む剰余演算では剰余を正とすることも負とすることもでき、多くの言語は剰余の符号が被除数(割られる数)の符号に一致するよう計算するが、序数(割る数)に揃えたり、常に正としたり、言語仕様では定義せず実装依存の言語もある。
(2022.4.2更新)