OpCodes.Conv_I8 フィールド


評価スタックの一番上の値を int64 に変換します。Converts the value on top of the evaluation stack to int64.

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




次の表は、命令の16進形式と Microsoft 中間言語 (MSIL) のアセンブリ形式と、簡単なリファレンスの概要を示しています。The following table lists the instruction's hexadecimal and Microsoft Intermediate Language (MSIL) assembly format, along with a brief reference summary:

形式Format アセンブリ形式Assembly Format 説明Description
6A6A i8conv.i8 をに変換し int64int64 スタックにプッシュします。Convert to int64, pushing int64 on stack.

スタックの移行動作は、次の順序で実行されます。The stack transitional behavior, in sequential order, is:

  1. value はスタックにプッシュされます。value is pushed onto the stack.

  2. value がスタックからポップされ、変換操作が試行されます。value is popped from the stack and the conversion operation is attempted.

  3. 変換が成功した場合、結果の値はスタックにプッシュされます。If the conversion is successful, the resulting value is pushed onto the stack.

オペコードは、 conv.i8 value スタックの一番上のをオペコードに指定された型に変換し、その値をスタックの一番上に残します。The conv.i8 opcode converts the value on top of the stack to the type specified in the opcode, and leave that converted value on the top of the stack. 4バイト未満の整数値は、評価スタックに読み込まれるときにに拡張され int32 conv.i ます (または conv.u が使用されている場合は、結果もになり native int ます)。Integer values of less than 4 bytes are extended to int32 when they are loaded onto the evaluation stack (unless conv.i or conv.u is used, in which case the result is also native int). 浮動小数点値は型に変換され F ます。Floating-point values are converted to the F type.

浮動小数点数から整数値への変換では、数値が0方向に切り捨てられます。Conversion from floating-point numbers to integer values truncates the number toward zero. からに変換する場合 float64 float32 、有効桁数が失われる可能性があります。When converting from a float64 to a float32, precision can be lost. が大きすぎてに格納できない場合 value float32 (F) 、正の無限大 ( value が正の場合) または負の無限大 ( value が負の場合) が返されます。If value is too large to fit in a float32 (F), positive infinity (if value is positive) or negative infinity (if value is negative) is returned. ある整数型から別の整数型への変換でオーバーフローが発生した場合、上位ビットは切り捨てられます。If overflow occurs converting one integer type to another, the high order bits are truncated. 結果がより小さい場合 int32 、値は、スロットを埋めるために符号拡張されます。If the result is smaller than an int32, the value is sign-extended to fill the slot.

浮動小数点型から整数への変換でオーバーフローが発生した場合、返される値は指定されません。If overflow occurs converting a floating-point type to an integer the value returned is unspecified.

このフィールドを使用する場合、例外はスローされません。No exceptions are ever thrown when using this field. Conv_Ovf_I8結果の Conv_Ovf_I8_Un 型が結果の値を正しく表すことができない場合に例外をスローする同等の命令については、「」および「」を参照してください。See Conv_Ovf_I8 and Conv_Ovf_I8_Un for equivalent instructions that will throw an exception when the result type can not properly represent the result value.

次の Emit メソッドオーバーロードでは、オペコードを使用でき conv.i8 ます。The following Emit method overload can use the conv.i8 opcode: