OpCodes.Conv_U2 フィールド

定義

評価スタックの一番上の値を unsigned int16 に変換し、その値を int32 に拡張します。

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

フィールド値

注釈

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

形式 アセンブリ形式 説明
D1 conv.u2 に変換し int16、スタックを int32 プッシュします。

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

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

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

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

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

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

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

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

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

適用対象