Diese Dokumentation wurde archiviert und wird nicht länger gepflegt.

OpCodes.Conv_R_Un-Feld

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

Namespace: System.Reflection.Emit
Assembly: mscorlib (in mscorlib.dll)

public static readonly OpCode Conv_R_Un
public static final OpCode Conv_R_Un
public static final var Conv_R_Un : OpCode

In der folgenden Tabelle werden das hexadezimale und das Assemblyformat der MSIL (Microsoft Intermediate Language) jeweils mit einer Kurzreferenz aufgeführt:

Format

Assemblyformat

Beschreibung

76

conv.r.un

Konvertiert ganze Zahlen ohne Vorzeichen in Gleitkommazahlen und legt F auf dem Stapel ab.

Im Stapel laufen die folgenden Aktionen in der angegebenen Reihenfolge ab:

  1. value wird auf dem Stapel abgelegt.

  2. value wird vom Stapel geholt, und es wird versucht, den Konvertierungsvorgang durchzuführen.

  3. Nach erfolgter Konvertierung wird der Ergebniswert auf dem Stapel abgelegt.

Der conv.r.un-Opcode konvertiert den value, der sich an oberster Position im Stapel befindet, in den Typ, der im Opcode angegeben ist, und lässt den konvertierten Wert an oberster Position im Stapel. Ganzzahlwerte mit weniger als 4 Bytes werden auf int32 erweitert, wenn sie in den Auswertungsstapel geladen werden, sofern nicht conv.i oder conv.u verwendet wird. In diesem Fall ist das Ergebnis ebenfalls natural int. Gleitkommawerte werden in den F-Typ konvertiert.

Beim Konvertieren von Gleitkommazahlen in Ganzzahlwerte werden die Zahlen in Richtung 0 (null) abgeschnitten. Das Konvertieren von float64 in float32 kann die Genauigkeit verringern. Wenn value für eine Darstellung in float32 (F) zu groß ist, wird plus Unendlich (sofern value positiv ist) oder minus Unendlich (sofern value negativ ist) zurückgegeben. Wenn beim Konvertieren eines Ganzzahltyps in einen anderen ein Überlauf auftritt, werden die hohen Bits abgeschnitten. Wenn das Ergebnis kleiner als int32 ist, wird die Signatur des Werts erweitert, sodass der Wert in den Slot passt.

Wenn beim Konvertieren eines Gleitkommatyps in eine ganze Zahl ein Überlauf auftritt, wird ein undefiniertes result zurückgegeben. Die conv.r.un-Operation nimmt eine ganze Zahl vom Stapel, interpretiert sie ohne Vorzeichen und ersetzt sie durch eine Gleitkommazahl, die die ganze Zahl darstellt. Dazu wird float32 verwendet, sofern diese groß genug ist, um die ganze Zahl ohne Genauigkeitsverlust darzustellen, andernfalls wird float64 verwendet.

Beim Verwenden dieses Felds wird niemals eine Ausnahme ausgelöst.

Die folgende Überladung der Emit-Methode verwendet den conv.r.un-Opcode:

  • ILGenerator.Emit(OpCode)

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0
Anzeigen: