OpCodes.Conv_R_Un Pole
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Převede celočíselnou hodnotu bez znaménka nad zkušební zásobník 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
Hodnota pole
Poznámky
Následující tabulka uvádí hexadecimální formát sestavení instrukce a formát sestavení MSIL (Microsoft Intermediate Language) spolu se stručným souhrnem referenčních informací:
Formát | Formát sestavení | Description |
---|---|---|
76 | conv.r.un | Převeďte celé číslo bez znaménka na hodnotu s plovoucí desetinou čárkou.F |
Přechodné chování zásobníku v sekvenčním pořadí je:
value
se nasdílí do zásobníku.value
se zobrazí ze zásobníku a pokusí se o operaci převodu.Pokud je převod úspěšný, výsledná hodnota se nasdílí do zásobníku.
Opcode conv.r.un
převede value
horní část zásobníku na typ zadaný v opcode a tuto převedenou hodnotu ponechá v horní části zásobníku. Celočíselné hodnoty menší než 4 bajty se rozšíří na int32
při načtení do zkušebního zásobníku (pokud se conv.i
nepoužívá nebo conv.u
se nepoužívá, v takovém případě je výsledek také native int
). Hodnoty s plovoucí desetinou čárkou se převedou na F
typ.
Převod z čísel s plovoucí desetinou čárkou na celočíselné hodnoty zkrátí číslo směrem k nule. Při převodu z na float64
, může dojít ke float32
ztrátě přesnosti. Pokud value
je příliš velká, aby se vešla do float32 (F)
, vrátí se kladné nekonečno (pokud value
je kladné) nebo záporné nekonečno (pokud value
je záporné). Pokud dojde k přetečení jednoho celočíselného typu na jiný, bity s vysokým pořadím se zkrátí. Pokud je výsledek menší než int32
hodnota , hodnota je znaménkem rozšířena o vyplnění slotu.
Pokud dojde k přetečení při převodu typu s plovoucí desetinou čárkou na celé číslo, result
vrácené číslo není neurčené. Operace conv.r.un
vezme celé číslo ze zásobníku, interpretuje ho jako nepodepsané a nahradí ho číslem s plovoucí desetinou čárkou, které představuje celé číslo: buď float32
, pokud je dostatečně široké, aby představoval celé číslo bez ztráty přesnosti, nebo float64
.
Při použití tohoto pole se nikdy nevyvolají žádné výjimky.
Následující Emit přetížení metody může použít conv.r.un
opcode: