次の方法で共有


OpCodes.Conv_U2 フィールド

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

Public Shared ReadOnly Conv_U2 As OpCode
[C#]
public static readonly OpCode Conv_U2;
[C++]
public: static OpCode Conv_U2;
[JScript]
public static var Conv_U2 : OpCode;

解説

命令の 16 進数の形式、MSIL (Microsoft Intermediate Language) アセンブリ形式、および簡単な説明の一覧を次の表に示します。

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

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

  1. value がスタックにプッシュされます。
  2. value がスタックからポップされ、変換演算が試行されます。
  3. 正常に変換された場合は、結果値がスタックにプッシュされます。

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

浮動小数点数から整数値への変換では、数値が 0 方向に切り捨てられます。 float64 から float32 への変換時に、有効桁数が減ることがあります。value が float32 (F) には大きすぎる場合は、正の無限大 (value が正の場合) または負の無限大 (value が負の場合) が返されます。ある整数型から別の整数型への変換でオーバーフローが発生すると、上位ビットは切り捨てられます。結果が int32 より小さい場合は、スロットを満たすために値が符号拡張されます。

浮動小数点型から整数型への変換でオーバーフローが発生すると、返される値は指定されません。

このフィールドを使用するときに例外がスローされることはありません。結果型が結果値を正しく表すことができない場合に例外をスローする等価の命令については、 Conv_Ovf_I2Conv_Ovf_I2_Un のトピックを参照してください。

conv.u2 オペコードを使用できる Emit コンストラクタ オーバーロードを次に示します。

  • ILGenerator.Emit(OpCode)

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

OpCodes クラス | OpCodes メンバ | System.Reflection.Emit 名前空間