語言

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 

欄位值

備註

下表列出指令的十六進位及 Microsoft 中介語言(MSIL)組合格式,並附有簡短參考摘要:

Format 組裝格式 Description
76 Conv.R.Un 將無符號整數轉換為浮點數,推入 F 堆疊。

堆疊的過渡行為依序為:

  1. value 被推到堆疊上。

  2. value 從堆疊中彈出,並嘗試轉換操作。

  3. 若轉換成功,所得值會被推入堆疊。

conv.r.un操作碼會將堆疊頂端的值value轉換成操作碼中指定的型別,並將該轉換後的值留在堆疊頂端。 整數值小於 4 位元組時會被擴展到 int32 載入評估堆疊時(除非 conv.i 使用 或 conv.u ,此時結果也會 native int是 )。 浮點數值會轉換成類型 F 。

從浮點數轉換為整數值會將該數字截斷至零。 從 轉換為 float64 時 float32,精度可能會損失。 若 value 太大無法放入 float32 (F),則返回正無限大(若 value 為正)或負無限大(若 value 為負)。 若發生溢位,將一種整數類型轉換為另一種整數類型,高階位元會被截斷。 若結果小於 , int32則該值會被符號延伸以填補該欄位。

若發生溢位,將浮點型態轉換為整數時 result ,回傳的值未被指定。 此操作從conv.r.un堆疊中取出一個整數,將其解釋為無符號,並以浮點數取代以表示整數:若該整數足夠寬且不損失精度float32,則為 ,float64或為 。

使用此欄位時不會拋出任何例外。

以下 Emit 方法的超載可使用操作 conv.r.un 碼:

適用於