剰余関数
剰余関数は2つの数を割り、その余りを返します。除算と同じ入力値が必要ですが、除算の結果ではなく「余り」の値を出力します。たとえば、次のようになります。
- 7 mod 3 = 1
- 8 mod 3 = 2
余りがない場合、結果は0です。
- 9 mod 3 = 0
数学の数式では、modまたは「modulo」演算子はパーセント記号で表されることがよくあります。たとえば、7 mod 3は次の式で表せます。
- 7 % 3 = 1
コンピューターサイエンスでは、剰余関数はmod(x,y)、またはそれに似た形式で記述されます。形式はプログラミング言語によって異なります。たとえば、次のようになります。
- mod(7,3) = 1
上の関数は、最初の値(被除数)を2番目の値(除数)で割り、余りを返します。7 ÷ 3 = 2r1なので、mod(7,3)の結果は1です。
剰余関数の用途
剰余関数は、コンピュータープログラミングでいくつかの用途があります。結果は除数より小さくなるため、結果を特定の範囲に制限できます。たとえば、xが整数である場合、mod(x,4)が返せる値は0、1、2、3だけです。すべてのn番目の値を確認したり、結果を限られた数の「バケット」に分類したりするのに便利です。
ほとんどのプログラミング言語では、0はfalseとして評価され、それ以外の数値はtrueとして評価されます。そのため、剰余関数はブール値の結果を返せます。2つの数が割り切れる場合はfalse、割り切れない場合はtrueになります。次は、if文の中で剰余関数を使用する例です。
if (mod(x,5)) then { ... }
xが5で割り切れない場合、then節のコードが実行されます。xが5で割り切れる場合(5、10、15、20など)、コードは実行されません。
NOTE: 剰余関数は、多くの場合、引数として2つの整数を取ります。ただし、浮動小数点数も使用できます。2つの値がともに整数の場合、結果は必ず整数になりますが、1つ以上の入力値が小数の場合、結果も小数になることがあります。たとえば、8 % 2.5 = 0.5です。これは、8 ÷ 2.5 = 3r0.5だからです。
知識をテストする