Heim > Backend-Entwicklung > C++ > Wie kann ich zufällige Gleitkommazahlen in C generieren?

Wie kann ich zufällige Gleitkommazahlen in C generieren?

Susan Sarandon
Freigeben: 2024-12-25 09:25:17
Original
296 Leute haben es durchsucht

How Can I Generate Random Floating-Point Numbers in C  ?

Zufällige Gleitkommazahlen in C generieren

In C dient die Funktion rand() als zuverlässiges Werkzeug zum Erstellen von Pseudozufallszahlen. Durch die Kombination mit RAND_MAX und die Durchführung einfacher mathematischer Operationen können Sie zufällige Floats innerhalb bestimmter Intervalle generieren. Für Freizeitprogramme und Bildungszwecke ist dieser Ansatz ausreichend. Wenn Ihre Anforderung jedoch echte Zufallszahlen mit Normalverteilung erfordert, sollten Sie die Implementierung anspruchsvollerer Techniken in Betracht ziehen.

Erzeugen von Gleitkommazahlen von 0,0 bis 1,0

Um eine zufällige Gleitkommazahl zwischen 0,0 und 1,0 (einschließlich) zu erhalten, Verwenden Sie die folgende Formel:

float r = static_cast<float>(rand()) / static_cast<float>(RAND_MAX);
Nach dem Login kopieren

Erzeugen von Floats innerhalb einer Arbitrary Bereich

Um einen Float innerhalb des Bereichs [0,0, Verwenden Sie im Bereich [LO, HI] die folgende Formel:

float r2 = static_cast<float>(rand()) / (static_cast<float>(RAND_MAX) / X);
Nach dem Login kopieren

Initialisierung der Zufallszahl Generator

Vor der Verwendung von rand() ist es wichtig, den Zufallszahlengenerator durch Aufruf von srand() zu initialisieren. Diese Initialisierung sollte nur einmal während der Programmausführung erfolgen, nicht bei jedem Aufruf von rand(). Eine gängige Vorgehensweise umfasst Folgendes:

float r3 = LO + static_cast<float>(rand()) / (static_cast<float>(RAND_MAX) / (HI - LO));
Nach dem Login kopieren

Einbindung von Header-Dateien

Beachten Sie, dass die folgenden Einbindungen von Header-Dateien erforderlich sind:

srand(static_cast<unsigned>(time(0)));
Nach dem Login kopieren

zum Aufrufen von rand() und srand()

zum Aufrufen von time()

    Das obige ist der detaillierte Inhalt vonWie kann ich zufällige Gleitkommazahlen in C generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Quelle:php.cn
    Erklärung dieser Website
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
    Neueste Artikel des Autors
    Beliebte Tutorials
    Mehr>
    Neueste Downloads
    Mehr>
    Web-Effekte
    Quellcode der Website
    Website-Materialien
    Frontend-Vorlage