Für Ihr spezifisches Dilemma ist die Division der Ausgabe von Rand durch eine Konstante kein robuster Ansatz zum Generieren von zufälligen Gleitkommazahlen. Während es zu Lernzwecken ungefähre Ergebnisse liefern kann, ist es nicht für ernsthafte Anwendungen geeignet, die zuverlässige Zufallszahlen erfordern.
Zufällige Gleitkommazahlen mithilfe mathematischer Operationen generieren
Zum Generieren mit hoher Präzision Random Floats in C verwenden die von der C-Standardbibliothek bereitgestellten Funktionen. Um beispielsweise einen zufälligen Gleitkommawert zwischen 0,0 und 1,0 zu generieren, können Sie den folgenden Code verwenden:
float r = static_cast<float> (rand()) / static_cast<float> (RAND_MAX);
Wenn Sie zufällige Gleitkommazahlen innerhalb eines beliebigen Intervalls generieren müssen, passen Sie die Formel entsprechend an:
Von 0,0 bis X:
float r2 = static_cast<float> (rand()) / (static_cast<float> (RAND_MAX/X));
Von LO nach HI:
float r3 = LO + static_cast<float> (rand()) /( static_cast<float> (RAND_MAX/(HI-LO)));
Verwendung Generatoren für echte Zufallszahlen
In Szenarien, in denen Sie echte Zufallszahlen mit Normalwert benötigen Erwägen Sie den Einsatz fortschrittlicherer Methoden wie:
Seeding des Zufallszahlengenerators
Vorher Wenn Sie rand() verwenden, müssen Sie den Zufallszahlengenerator durch Aufrufen von srand() initialisieren. Normalerweise wird dies erreicht durch:
srand (static_cast<unsigned> (time(0)));
Denken Sie daran, die entsprechenden Header #include:
Durch die Einhaltung dieser Richtlinien können Sie in C effektiv zufällige Floats für verschiedene Anwendungen generieren, von Simulationen bis hin zur Datenanalyse.
Das obige ist der detaillierte Inhalt vonWie kann ich zufällige Gleitkommazahlen in C effektiv generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!