Heim  >  Artikel  >  Backend-Entwicklung  >  Was bedeutet die Funktion srand(time(0))?

Was bedeutet die Funktion srand(time(0))?

藏色散人
藏色散人Original
2019-06-06 10:56:4830059Durchsuche

Die Standardbibliothek definiert eine Reihe von Zufallszahlen-Engine-Klassen und -Adaptern, die unterschiedliche mathematische Methoden verwenden, um Pseudozufallszahlen zu generieren. Die Standardbibliothek definiert außerdem eine Reihe von Verteilungsvorlagen, um Zufallszahlen entsprechend unterschiedlicher Wahrscheinlichkeiten zu generieren. Die Namen der Engines und Verteilungstypen entsprechen ihren mathematischen Eigenschaften.

Was bedeutet die Funktion srand(time(0))?

Aber heute werden wir ein wenig auf das grundlegendste Wissen eingehen.

Der Computer hat keine Möglichkeit, echte Zufallszahlen zu generieren. Er verwendet eine Algorithmussimulation, sodass Sie nur Rand aufrufen und jedes Mal das Gleiche herauskommt. Nach dem Setzen eines Seeds können je nach Seed unterschiedliche Zahlen generiert werden. Und wie stellt man sicher, dass die Samen unterschiedlich sind? Der einfachste Weg ist natürlich, die Zeit zu nutzen, die immer weiter voranschreitet.

srand(time(0)) ;//先设置种子
rand();//然后产生随机数

Srand ist die Anzahl der zufällig gepflanzten Samen. Die Samen, die Sie pflanzen, sind jedes Mal anders, und die durch die Verwendung von Rand erhaltenen Zufallszahlen sind unterschiedlich. Um jedes Mal einen anderen Samen zu pflanzen, wird Time(0) verwendet, um den aktuellen Zeitwert zu erhalten (da die Zeit jeden Moment anders ist).

srand(time(0)) ;Diesem Algorithmus wird ein Startwert zugewiesen, bei dem es sich um die Zufallszahl des Algorithmus handelt. Nur mit dieser Zahl kann die Anzahl der Sekunden seit 1970.1.1 generiert werden Initialisieren Sie den Zufallszahlen-Seed.

Referenzfall

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main ( void )
{
    int i;
    
    srand(time(0));
    
    /* 输出 10 个随机数. */
    for (i = 0; i < 10; i++)
        printf( "%6d/n", rand());
}

Ausgabeergebnis:

   22614
   15772
   30620
   24913
    7556
   31659
   27876
   27229
   25083
   16564

Verwandte Empfehlungen: „C Video Tutorial

Das obige ist der detaillierte Inhalt vonWas bedeutet die Funktion srand(time(0))?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:Was bedeutet String-Zuweisung?Nächster Artikel:Was bedeutet String-Zuweisung?