次の方法で共有


OpCodes.Conv_I2 フィールド

定義

評価スタックの一番上の値を int16 に変換し、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 

フィールド値

注釈

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

形式 アセンブリ形式 説明
68 conv.i2 に変換し int16int32 スタックをプッシュします。

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

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

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

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

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

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

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

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

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

適用対象