OpCodes.Conv_R_Un Bidang
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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:
value
didorong ke tumpukan.value
muncul dari tumpukan dan operasi konversi dicoba.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.i
conv.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 float64
float32
, 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 float32
jika 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: