OpCodes.Conv_Ovf_I1 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 podepsanou hodnotu nad zkušební zásobník 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;
public static readonly System.Reflection.Emit.OpCode Conv_Ovf_I1;
staticval mutable Conv_Ovf_I1 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_Ovf_I1 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 |
---|---|---|
B3 | conv.ovf.i1 | Převeďte na objekt int8 (v zásobníku jako int32 ) a při přetečení vyvoláte výjimku. |
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
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
opcode: