%REM(n:m)
%REM は、オペランド n を m で 除算した結果求められる剰余を戻します。これらの 2 つの オペランドは、小数点以下の桁数がない (ゼロの) 数値でなければなりません。 いずれかのオペランドがパック数値、ゾーン数値、または 2 進数値である場合、結果 はパック数値になります。 いずれかのオペランドが整数値である場合、結果は整数になります。 これ以外の場合、結果は符号なし数値に なります。浮動数値オペランドは使用できません。 結果には、被除数と同じ符号が付きます。 (%DIV (商の戻り整数部分)も参照してください。)
%REM と %DIV には、次の関係があります。
%REM(A:B) = A - (%DIV(A:B) * B)
これらのオペランドが、8 バイト整数フィールド、または符号なしフィールド 内に収められる定数である場合、定数の折り畳みがこの組み込み関数に適用されます。この場合、%REM 組み込み関数は定義仕様書でコーディングできます。
詳細については、算術演算または 組み込み関数を参照してください。
*..1....+....2....+....3....+....4....+....5....+....6....+....7...+.... D*Name++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++ D A S 10I 0 INZ(123) D B S 10I 0 INZ(27) D DIV S 10I 0 D REM S 10I 0 D E S 10I 0 /FREE DIV = %DIV(A:B); // DIV is now 4 REM = %REM(A:B); // REM is now 15 E = DIV*B + REM; // E is now 123 /END-FREE
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.