OpCodes.Conv_I2 Fält

Definition

Konverterar värdet ovanpå utvärderingsstacken till int16och utökar sedan (pads) det till int32.

public: static initonly System::Reflection::Emit::OpCode Conv_I2;
public static readonly System.Reflection.Emit.OpCode Conv_I2;
 staticval mutable Conv_I2 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_I2 As OpCode 

Fältvärde

Kommentarer

I följande tabell visas instruktionens sammansättningsformat för hexadecimalt och Microsoft mellanliggande språk (MSIL), tillsammans med en kort referenssammanfattning:

Format Sammansättningsformat Description
68 conv.i2 Konvertera till int16, push-överföring int32 på stack.

Stackens övergångsbeteende i sekventiell ordning är:

  1. value skickas till stacken.

  2. value poppas från stacken och konverteringsåtgärden görs.

  3. Om konverteringen lyckas pushas det resulterande värdet till stacken.

Opcode conv.i2 konverterar överst value i stacken till den typ som anges i opcode och lämnar det konverterade värdet överst i stacken. Heltalsvärden på mindre än 4 byte utökas till int32 när de läses in på utvärderingsstacken (om inte conv.i eller conv.u används, i vilket fall resultatet också native intär ). Flyttalsvärden konverteras till F typen .

Konvertering från flyttalsnummer till heltalsvärden trunkerar talet mot noll. När du konverterar från en float64 till en float32kan precision gå förlorad. Om value är för stor för att passa i en float32 (F)returneras positiv oändlighet (om value är positiv) eller negativ oändlighet (om value den är negativ). Om spill uppstår när en heltalstyp konverteras till en annan trunkeras bitarna i hög ordning. Om resultatet är mindre än ett int32, är värdet sign-extended för att fylla facket.

Om spill inträffar är det ospecificerat att konvertera en flyttalstyp till ett heltal.

Inga undantag utlöses någonsin när du använder det här fältet. Se Conv_Ovf_I2 och Conv_Ovf_I2_Un för motsvarande instruktioner som utlöser ett undantag när resultattypen inte korrekt kan representera resultatvärdet.

Följande Emit metodöverlagring kan använda conv.i2 opcode:

Gäller för