OpCodes.Conv_R_Un フィールド

定義

評価スタックの一番上の符号なし整数値を float32 に変換します。

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

フィールド値

注釈

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

形式 アセンブリ形式 説明
76 conv.r.un 符号なし整数を浮動小数点に変換し、スタックを F プッシュします。

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

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

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

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

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

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

オーバーフローが発生して浮動小数点型が整数に変換された場合、 result 返される は指定されません。 この操作は conv.r.un 、スタックから整数を受け取り、符号なしとして解釈し、整数を表す float32浮動小数点数に置き換えます。 が有効桁数 float64を失わずに整数を表すのに十分な広さである場合は 。

このフィールドを使用する場合、例外はスローされません。

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

適用対象