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:

FormatFormat アセンブリ形式Assembly Format 説明Description
6A6A i8conv.i8 int64に変換し、スタックで int64 をプッシュします。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: