OpCodes.Conv_I フィールド

定義

評価スタックの上にある値を native intに変換します。

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

フィールド値

注釈

次の表に、命令の 16 進数および Microsoft Intermediate Language (MSIL) アセンブリ形式と、簡単なリファレンス概要を示します。

フォーマット アセンブリ形式 Description
D3 conv.i native intに変換し、スタックにnative intをプッシュします。

スタック遷移の動作は、順番に次のようになります。

  1. value がスタックにプッシュされます。

  2. value がスタックからポップされ、変換操作が試行されます。

  3. 変換が成功すると、結果の値がスタックにプッシュされます。

conv.iオペコードは、スタック上のvalueをオペコードで指定された型に変換し、その変換された値をスタックの一番上に残します。 4 バイト未満の整数値は、評価スタックに読み込まれるときに int32 に拡張されます ( conv.i または conv.u が使用されていない限り、結果も native intされます)。 浮動小数点値は、 F 型に変換されます。

浮動小数点数から整数値への変換では、数値が 0 に切り捨てられます。 float64からfloat32に変換すると、精度が失われる可能性があります。 valueが大きすぎてfloat32 (F)に収まらない場合は、正の無限大 (valueが正の場合) または負の無限大 (valueが負の場合) が返されます。 ある整数型を別の整数型に変換するオーバーフローが発生した場合、上位ビットは切り捨てられます。 結果が int32よりも小さい場合、値はスロットを埋めるように符号拡張されます。

オーバーフローが発生した場合、浮動小数点型を整数に変換すると、返される値は指定されません。

このフィールドを使用しても例外はスローされません。 結果の型が結果の値を正しく表さない場合に例外をスローする同等の手順については、「 Conv_Ovf_IConv_Ovf_I_Un 」を参照してください。

次の Emit メソッドオーバーロードでは、 conv.i オペコードを使用できます。

適用対象