2 つの値を除算し、剰余を評価スタックにプッシュします。
Public Shared ReadOnly Rem As OpCode
[C#]
public static readonly OpCode Rem;
[C++]
public: static OpCode Rem;
[JScript]
public static var Rem : OpCode;
解説
命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。
形式 | アセンブリ形式 | 説明 |
---|---|---|
5D | rem | value1 を value2 で除算して得られた剰余をスタックにプッシュします。 |
スタックの遷移動作を順番に示すと、次のようになります。
- value1 がスタックにプッシュされます。
- value2 がスタックにプッシュされます。
- value2 と value1 がスタックからポップされ、 value1 div value2 の剰余が計算されます。
- 結果がスタックにプッシュされます。
result = value1 rem value2 が満たしている条件を次に示します。
result = value1 - value2 ラ (value1 div value2)、および
0 = | result | < | value2 |、sign(result) = sign(value1)、ここで div は、0 方向に切り捨てる除算命令です。
value2 が 0 の場合、または value1 が無限数の場合は、結果が NaN になります。 value2 が無限数の場合、結果は value1 になります (-infinity の否定)。
value2 が 0 の場合、整数演算は DivideByZeroException をスローします。
Intel ベースのプラットフォームでは、(minint rem-1) の計算時に OverflowException がスローされます。
rem オペコードを使用できる Emit コンストラクタ オーバーロードを次に示します。
- ILGenerator.Emit(OpCode)
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ