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

Bagaimana untuk Menjana Nombor Rawak dengan Ketepatan Perpuluhan dalam C?

Barbara Streisand
Barbara Streisandasal
2024-11-02 10:49:02587semak imbas

How to Generate Random Numbers with Decimal Precision in C  ?

Menjana Nombor Rawak dengan Ketepatan Perpuluhan dalam C

Penjanaan nombor rawak ialah alat penting dalam pelbagai aplikasi pengaturcaraan. Dalam C , terdapat beberapa cara untuk menjana nombor rawak, tetapi pendekatan yang paling mudah untuk menjana beregu dengan format tertentu ialah melalui kelas std::uniform_real_distribution.

Untuk menjana nombor berganda rawak dalam selang waktu tertentu, kami boleh menggunakan langkah berikut:

  1. Sertakan Pengepala yang Diperlukan: Sertakan fail pengepala dalam kod sumber.
  2. Tentukan Sempadan: Tentukan sempadan bawah dan atas selang yang kita mahu hasilkan nombor rawak.
  3. Mulakan Enjin Rawak: Buat seketika std::default_random_engine untuk menjana aliran nilai rawak.
  4. Buat Pengagihan Seragam: Cipta objek std::uniform_real_distribution dengan sempadan yang ditetapkan sebagai hujah.
  5. Jana Random Double: Panggil operator() objek pengedaran menggunakan enjin rawak untuk menghasilkan dua rawak dalam selang waktu.
<code class="cpp">#include <random>

int main() {
    double lower_bound = 0;
    double upper_bound = 10000;
    std::uniform_real_distribution<double> unif(lower_bound, upper_bound);
    std::default_random_engine re;
    double a_random_double = unif(re);

    return 0;
}</code>

Coretan kod ini menjana dua kali ganda rawak antara 0 dan 10000 dengan ketepatan perpuluhan, yang memenuhi keperluan soalan. Untuk mendapatkan maklumat tambahan, rujuk artikel John D. Cook tentang "Penjanaan nombor rawak menggunakan C TR1" atau panduan Stroustrup tentang "Penjanaan nombor rawak."

Atas ialah kandungan terperinci Bagaimana untuk Menjana Nombor Rawak dengan Ketepatan Perpuluhan 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