OpCodes.Conv_R_Un Pole
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Konwertuje niepodpisaną wartość całkowitą na stos oceny na 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
Wartość pola
Uwagi
W poniższej tabeli wymieniono format zestawu szesnastkowy i Microsoft Intermediate Language (MSIL) instrukcji wraz z krótkim podsumowaniem referencyjnym:
| Format | Format zestawu | Opis |
|---|---|---|
| 76 | conv.r.un | Przekonwertuj niepodpisane liczby całkowite na zmiennoprzecinkowe, wypychając F na stos. |
Zachowanie przejściowe stosu w kolejności sekwencyjnej jest następujące:
valuejest wypchnięty na stos.valuejest zwinięty ze stosu, a operacja konwersji jest podejmowana.Jeśli konwersja zakończy się pomyślnie, wynikowa wartość zostanie wypchnięta do stosu.
Kod conv.r.un opcode konwertuje value element w górnej części stosu na typ określony w kodzie opcode i pozostaw wartość przekonwertowaną w górnej części stosu. Wartości całkowite mniejsze niż 4 bajty są rozszerzane do int32 momentu ich załadowania do stosu ewaluacyjnego (chyba że conv.i jest używany lub conv.u używany, w tym przypadku wynik jest również native int). Wartości zmiennoprzecinkowe są konwertowane na F typ.
Konwersja z liczb zmiennoprzecinkowych na wartości całkowite obcina liczbę w kierunku zera. Podczas konwertowania z elementu na float64 wartość można utracić precyzję float32. Jeśli value jest zbyt duża, aby zmieścić się w float32 (F)wartości , nieskończoność dodatnia (jeśli value jest dodatnia) lub nieskończoność ujemna (jeśli value jest ujemna) jest zwracana. Jeśli przepełnienie następuje przekonwertowanie jednego typu liczby całkowitej na inną, bity o dużej kolejności zostaną obcięte. Jeśli wynik jest mniejszy niż int32wartość , wartość jest rozszerzona o znak, aby wypełnić miejsce.
Jeśli przepełnienie następuje przekonwertowanie typu zmiennoprzecinkowego na liczbę całkowitą, result zwrócona liczba całkowita nie jest określona. Operacja conv.r.un pobiera liczbę całkowitą ze stosu, interpretuje ją jako niepodpisaną i zastępuje ją liczbą zmiennoprzecinkową, aby reprezentować liczbę całkowitą: float32wartość , jeśli jest wystarczająco szeroka, aby reprezentować liczbę całkowitą bez utraty precyzji, lub .float64
Podczas korzystania z tego pola nie są nigdy zgłaszane żadne wyjątki.
Następujące Emit przeciążenie metody może używać conv.r.un kodu opcode: