Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Menjana Nombor Berganda Rawak dengan Ketepatan Ditentukan dalam C?

Bagaimana untuk Menjana Nombor Berganda Rawak dengan Ketepatan Ditentukan dalam C?

Patricia Arquette
Patricia Arquetteasal
2024-10-30 19:14:30561semak imbas

How to Generate Random Double Numbers with Specified Precision in C  ?

Menjana Nombor Berganda Rawak dalam C dengan Ketepatan Yang Ditentukan

Menjana nombor berganda rawak dalam julat yang ditentukan ialah keperluan biasa dalam pengaturcaraan. Terutamanya, apabila anda memerlukan nombor untuk mempunyai ketepatan tertentu, seperti "xxxxx,yyyyy", tugas ini boleh menjadi sedikit lebih mencabar. Nasib baik, C menyediakan perpustakaan yang teguh untuk mengendalikan penjanaan nombor rawak.

Penyelesaian melibatkan penggunaan kelas pengedaran_seragam_sebenar daripada perpustakaan. Taburan ini boleh menghasilkan gandaan rawak dalam julat yang ditentukan. Kod berikut menunjukkan cara menggunakan kelas ini:

<code class="cpp">#include <random>

int main() {
   // Define the lower and upper bounds of the desired range
   double lower_bound = 0;
   double upper_bound = 10000;

   // Create a uniform real distribution within the specified range
   std::uniform_real_distribution<double> unif(lower_bound, upper_bound);

   // Initialize a random engine
   std::default_random_engine re;

   // Generate a random double using the distribution
   double a_random_double = unif(re);

   return 0;
}</code>

Dalam contoh ini, julat ditakrifkan antara 0 dan 10000. Taburan unif dimulakan dengan sempadan ini. Untuk menghasilkan gandaan rawak, enjin semula digunakan untuk menyuap ke dalam pengedaran. A_random_double yang terhasil akan menjadi nombor rawak dalam julat yang ditentukan.

Untuk butiran lanjut tentang penjanaan nombor rawak dalam C , rujuk "Penjanaan nombor rawak menggunakan C TR1" John D. Cook atau "Penjanaan nombor rawak Stroustrup. "

Atas ialah kandungan terperinci Bagaimana untuk Menjana Nombor Berganda Rawak dengan Ketepatan Ditentukan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn