語言

OpCodes.Conv_U 欄位

定義

將評估堆疊 unsigned native int頂端的值轉換為 ,並擴展為 native int。

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

欄位值

備註

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

Format 組裝格式 Description
E0 Conv.U 轉換成 unsigned native int,推進 native int 堆疊。

堆疊的過渡行為依序為:

  1. value 被推到堆疊上。

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

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

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

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

若在將浮點數型態轉換為整數時發生溢位,回傳的值為未指定。

使用此欄位時不會拋出任何例外。 請參閱 Conv_Ovf_I 和 Conv_Ovf_I_Un ,了解當結果型別無法正確表示結果值時,會拋出例外的等價指令。

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

適用於