Heim >Backend-Entwicklung >C++ >Wie kann ich 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.
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);
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);
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));
Beachten Sie, dass die folgenden Einbindungen von Header-Dateien erforderlich sind:
srand(static_cast<unsigned>(time(0)));
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!