OpCodes.Conv_R_Un 欄位
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將評估堆疊 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 堆疊。 |
堆疊的過渡行為依序為:
value被推到堆疊上。value從堆疊中彈出,並嘗試轉換操作。若轉換成功,所得值會被推入堆疊。
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 碼: