Bagikan melalui


OpCodes.Conv_R_Un Bidang

Definisi

Mengonversi nilai bilangan bulat yang tidak ditandatangani di atas tumpukan evaluasi menjadi 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 

Nilai Bidang

Keterangan

Tabel berikut mencantumkan format rakitan heksadesimal dan Microsoft Intermediate Language (MSIL) instruksi, bersama dengan ringkasan referensi singkat:

Format Format Rakitan Deskripsi
76 conv.r.un Mengonversi bilangan bulat yang tidak ditandatangani menjadi floating-point, mendorong F pada tumpukan.

Perilaku transisi tumpukan, dalam urutan berurutan, adalah:

  1. value didorong ke tumpukan.

  2. value muncul dari tumpukan dan operasi konversi dicoba.

  3. Jika konversi berhasil, nilai yang dihasilkan didorong ke tumpukan.

conv.r.un Opcode mengonversi value di atas tumpukan ke jenis yang ditentukan dalam opcode, dan membiarkan nilai yang dikonversi di bagian atas tumpukan. Nilai bilangan bulat kurang dari 4 byte diperluas hingga int32 ketika dimuat ke tumpukan evaluasi (kecuali atau conv.iconv.u digunakan, dalam hal ini hasilnya juga native int). Nilai floating-point dikonversi ke F jenis .

Konversi dari angka floating-point ke nilai bilangan bulat memotong angka ke nol. Saat mengonversi dari ke float64float32, presisi dapat hilang. Jika value terlalu besar untuk dipaskan dalam float32 (F), infinitas positif (jika value positif) atau infinitas negatif (jika value negatif) dikembalikan. Jika luapan terjadi mengonversi satu jenis bilangan bulat ke jenis bilangan bulat lainnya, bit urutan tinggi akan terpotok. Jika hasilnya lebih kecil dari int32, nilai diperluas untuk mengisi slot.

Jika luapan terjadi mengonversi jenis floating-point ke bilangan bulat yang result dikembalikan tidak ditentukan. Operasi mengambil conv.r.un bilangan bulat dari tumpukan, menafsirkannya sebagai tidak ditandatangani, dan menggantinya dengan angka floating-point untuk mewakili bilangan bulat: baik float32jika ini cukup lebar untuk mewakili bilangan bulat tanpa kehilangan presisi, atau float64.

Tidak ada pengecualian yang pernah dilemparkan saat menggunakan bidang ini.

Metode berikut Emit kelebihan beban dapat menggunakan conv.r.un opcode:

Berlaku untuk