OpCodes.Conv_R_Un Feld

Definition

Konvertiert den Ganzzahlwert ohne Vorzeichen oben im Auswertungsstapel 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 Microsoft MSIL-Assemblyformat (Intermediate Language) der Anweisung zusammen mit einer kurzen Referenzzusammenfassung aufgeführt:

Format Assemblyformat Description
76 conv.r.un Wandeln Sie nicht signierte ganze Zahl in Gleitkommazahlen um, indem F Sie den Stapel verschieben.

Das Übergangsverhalten des Stapels in sequenzieller Reihenfolge lautet:

  1. value wird auf den Stapel verschoben.

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

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

Der conv.r.un Opcode konvertiert den value Stapel oben im Stapel in den im Opcode angegebenen Typ und belässt diesen konvertierten Wert oben im Stapel. Ganzzahlige Werte von weniger als 4 Bytes werden erweitert int32 , wenn sie in den Auswertungsstapel geladen werden (es sei denn conv.i , es 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 Richtung Null ab. Beim Konvertieren von einer float64 in eine float32, genauigkeit kann verloren gehen. Wenn value es zu groß ist, um in eine float32 (F)positive Unendlichkeit (wenn positiv ist) oder negative Unendlichkeit (falls valuevalue negativ) zu passen, wird zurückgegeben. Wenn der Überlauf einen ganzzahligen Typ in einen anderen konvertiert, werden die Bits mit hoher Reihenfolge abgeschnitten. Wenn das Ergebnis kleiner als ein int32Wert ist, wird der Wert sign-erweitert, um den Steckplatz auszufüllen.

Wenn ein Überlauf auftritt, wird ein Gleitkommatyp in eine ganze Zahl konvertiert, die result zurückgegeben wird, ist nicht angegeben. Der conv.r.un Vorgang nimmt eine ganze Zahl vom Stapel ab, interpretiert sie als nicht signiert und ersetzt sie durch eine Gleitkommazahl, um die ganze Zahl darzustellen: entweder ein float32, wenn dies breit genug ist, um die ganze Zahl ohne Genauigkeitsverlust darzustellen, oder eine float64.

Bei Verwendung dieses Felds werden niemals Ausnahmen ausgelöst.

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

Gilt für: