OpCodes.Conv_R_Un Feld

Definition

Konvertiert den Ganzzahlwert ohne Vorzeichen an oberster Position des Auswertungsstapels in float32.

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

Feldwert

Hinweise

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

Format Assemblyformat BESCHREIBUNG
76 conv.r.un Konvertieren Sie ganzzahlige Zahlen ohne Vorzeichen in Gleitkommazahlen, indem Sie den Stapel pushen F .

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. value wird auf den Stapel geschoben.

  2. value wird aus dem Stapel geknallt, und der Konvertierungsvorgang wird versucht.

  3. Wenn die Konvertierung erfolgreich ist, wird der resultierende Wert auf den Stapel gepusht.

Der conv.r.un Opcode konvertiert den value oben auf dem Stapel in den im Opcode angegebenen Typ und belässt diesen konvertierten Wert oben im Stapel. Ganzzahlwerte von weniger als 4 Bytes werden erweitert int32 , wenn sie in den Auswertungsstapel geladen werden (es sei denn conv.i , oder conv.u wird verwendet, in diesem Fall ist das Ergebnis ebenfalls native int). Gleitkommawerte werden in den F Typ konvertiert.

Die Konvertierung von Gleitkommazahlen in ganzzahlige Werte schneidet die Zahl in 0 ab. Beim Konvertieren von einer float64 in eine float32kann die Genauigkeit verloren gehen. Wenn value zu groß ist, um in eine float32 (F)zu passen, wird positive Unendlichkeit (wenn value positiv ist) oder negative Unendlichkeit (wenn value negativ) zurückgegeben. Wenn ein Überlauf auftritt, der einen ganzzahligen Typ in einen anderen konvertiert, werden die Bits mit hoher Reihenfolge abgeschnitten. Wenn das Ergebnis kleiner als ist int32, wird der Wert geschildert, um den Slot zu füllen.

Wenn ein Überlauf auftritt, der einen Gleitkommatyp in eine ganze Zahl konvertiert, wird der result zurückgegebene Wert nicht angegeben. Der conv.r.un Vorgang entfernt eine ganze Zahl aus dem Stapel, interpretiert sie als ohne Vorzeichen und ersetzt sie durch eine Gleitkommazahl, um die ganze Zahl darzustellen: entweder , float32wenn diese breit genug ist, um die ganze Zahl ohne Genauigkeitsverlust darzustellen, oder ein float64.

Bei Verwendung dieses Felds werden keine Ausnahmen ausgelöst.

Die folgende Emit Methodenüberladung kann den conv.r.un Opcode verwenden:

Gilt für: