MOD 関数

目的

xy で割った余りを返します。

構文

MOD(x,y)

パラメーター

x および y は算術値です。

説明

MOD 関数は、xy で割った余りを返します。結果は x-y*FLOOR(x/y) で、x および y の共通のデータ型になります。

結果の精度の判定では、x および y の精度が (px,qx) および (py,qy) でそれぞれ表されます。x および y の共通の型が固定小数点の場合、結果の精度は次のようになります。

(MIN(n,py-qy+MAX(qx,qy)),MAX(qx,qy))

それ以外の場合、結果の精度は MAX(px,py) となります。n は、x および y の共通の型で許容される最大精度です。最大精度の詳細については、「Open PL/I ユーザー ガイド」を参照してください。

-pmod コンパイラ オプションでコンパイルすると、MOD 組み込み関数の出力に影響を与え、常に正の結果を生成するようになります。このオプションを使用しなければ結果が負になる場合、y の絶対値が結果に加算され、正の結果が生成されます。

MOD(15,2)    /* returns 1 */

制約事項

y の値を 0 にすることはできません。

浮動小数点 10 進データに対する MOD 演算は、実際は浮動小数点 2 進演算を使用して実行されます。そのため、作用対象の範囲および演算の結果は、浮動小数点 2 進数の範囲に制限されます。