OpCodes.Conv_R8 Fält

Definition

Konverterar värdet ovanpå utvärderingsstacken till float64.

public: static initonly System::Reflection::Emit::OpCode Conv_R8;
public static readonly System.Reflection.Emit.OpCode Conv_R8;
 staticval mutable Conv_R8 : System.Reflection.Emit.OpCode
Public Shared ReadOnly Conv_R8 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
6C conv.r8 Konvertera till float64, push-överföring F 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.r8 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.

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

Gäller för