次の方法で共有


OpCodes.Rem フィールド

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 value1value2 で除算して得られた剰余をスタックにプッシュします。

スタックの遷移動作を順番に示すと、次のようになります。

  1. value1 がスタックにプッシュされます。
  2. value2 がスタックにプッシュされます。
  3. value2value1 がスタックからポップされ、 value1 div value2 の剰余が計算されます。
  4. 結果がスタックにプッシュされます。

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 ファミリ

参照

OpCodes クラス | OpCodes メンバ | System.Reflection.Emit 名前空間