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 wartość niepodpisanej liczby całkowitej na stos oceny na float32
wartość .
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 instrukcji i microsoft intermediate language (MSIL) 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:
value
jest wypychany do stosu.value
jest 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 pozostawia przekonwertowaną wartość na górze stosu. Wartości całkowite mniejsze niż 4 bajty są rozszerzane do int32
momentu ich załadowania do stosu oceny (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 float64
na wartość można utracić precyzję float32
. Jeśli value
jest zbyt duża, aby zmieścić się w float32 (F)
, 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ż int32
wartość , wartość jest rozszerzona o znak, aby wypełnić miejsce.
Jeśli przepełnienie następuje przekonwertowanie typu zmiennoprzecinkowego na liczbę całkowitą result
zwróconą jest nieokreślone. Operacja conv.r.un
pobiera liczbę całkowitą ze stosu, interpretuje ją jako niepodpisaną i zastępuje ją liczbą zmiennoprzecinkową reprezentującą liczbę całkowitą: float32
albo , jeśli jest wystarczająco szeroki, aby reprezentować liczbę całkowitą bez utraty precyzji, lub .float64
Podczas korzystania z tego pola nigdy nie są zgłaszane żadne wyjątki.
Emit Następujące przeciążenie metody może używać conv.r.un
kodu opcode: