OpCodes.Conv_Ovf_I1_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 hodnotu bez znaménka v horní části zkušebního zásobníku na podepsanou int8
a rozšíří ji na int32
hodnotu , která OverflowException vyvolá přetečení.
public: static initonly System::Reflection::Emit::OpCode Conv_Ovf_I1_Un;
public static readonly System.Reflection.Emit.OpCode Conv_Ovf_I1_Un;
staticval mutable Conv_Ovf_I1_Un : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_Ovf_I1_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 |
---|---|---|
82 | conv.ovf.i1.un | Převede hodnotu bez znaménka na int8 hodnotu (na zásobníku jako int32 ) a vyvolá výjimku při přetečení. |
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 dojde k přetečení, vyvolá se výjimka.Pokud je převod úspěšný, výsledná hodnota se nasdílí do zásobníku.
Opcode conv.ovf.i1.un
převede value
horní část zásobníku na typ zadaný v opcode a umístí převedenou hodnotu do horní části zásobníku. Pokud je hodnota příliš velká nebo příliš malá, aby byla reprezentována cílovým typem, vyvolá se výjimka.
Převody z čísel s plovoucí desetinou čárkou na celočíselné hodnoty zkracují číslo směrem k nule. Všimněte si, že celočíselné hodnoty menší než 4 bajty jsou při načtení do zkušebního zásobníku rozšířeny int32
na (pokud se conv.ovf.i
nepoužívají nebo conv.ovf.u
se nepoužívají, v takovém případě je výsledek také native int
).
OverflowException je vyvolán, pokud výsledek nemůže být reprezentován v typu výsledku.
Následující Emit přetížení metody může použít conv.ovf.i1.un
opcode: