Freigeben über


OpCodes.Rem Feld

Definition

Dividiert zwei Werte und verschiebt den Rest auf den Auswertungsstapel.

public: static initonly System::Reflection::Emit::OpCode Rem;
public static readonly System.Reflection.Emit.OpCode Rem;
 staticval mutable Rem : System.Reflection.Emit.OpCode
Public Shared ReadOnly Rem As OpCode 

Feldwert

Hinweise

In der folgenden Tabelle sind das Hexadezimal- und das MSIL-Assemblyformat (Microsoft Intermediate Language) sowie eine kurze Referenzzusammenfassung aufgeführt:

Format Assemblyformat Beschreibung
5D rem Verschiebt den Rest der Aufteilung value1 durch value2 auf den Stapel.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. Ein value1 wird auf den Stapel geschoben.

  2. value2 wird auf den Stapel verschoben.

  3. value2 und value1 werden aus dem Stapel und die restlichen value1divvalue2 berechnet.

  4. Das Ergebnis wird auf den Stapel verschoben.

result = value1 rem value2 erfüllt die folgenden Bedingungen:

result = value1 - value2 × (value1divvalue2) und:

0 = | result | < | value2 |, sign(result) = sign(value1), wobei div die Divisionsanweisung ist, die in Richtung Null abschneidet.

Wenn value2 null oder value1 unendlich ist, ist das Ergebnis NaN. Wenn value2 unendlich ist, wird das Ergebnis value1 (negiert für -infinity).

Integrale Vorgänge lösen DivideByZeroException aus, wenn value2 null ist.

Beachten Sie, dass auf den Intel-basierten Plattformen eine OverflowException beim Computing ausgelöst wird (minint rem -1).

Die folgende Emit Methodenüberladung kann den rem opcode verwenden:

Gilt für: