Provided by: manpages-de-dev_0.5-2ubuntu1_all bug

BEZEICHNUNG

       rand, srand - Zufallszahlengenerator

ÜBERSICHT

       #include <stdlib.h>

       int rand(void);

       void srand(unsigned int seed);

BESCHREIBUNG

       Die  Funktion  rand()  liefert  eine  Pseudozufalls-Ganzzahl  (integer)
       zwischen 0 und RAND_MAX.

       Die Funktion srand() setzt ihr Argument  als  Ursprung  für  eine  neue
       Reihe  von  Pseudozufalls-Ganzzahlen  ein,  welche von rand() geliefert
       werden.  Diese Sequenzen sind durch Aufruf von srand() mit  dem  selben
       Ursprungswert wiederholbar.

       Wenn  kein  Ursprungswert  angegeben wird, wird 1 als Ursprungswert für
       rand() angenommen.

RÜCKGABEWERT

       Die Funktion rand() liefert einen Wert zwischen 0  und  RAND_MAX.   Die
       Funktion srand() liefert keinen Wert zurück.

ANMERKUNGEN

       Die Versionen von rand() und srand() in der Linux C-Bibliothek benutzen
       den selben Zufallszahlengenerator  wie  random()  und  srandom(),  d.h.
       niederwertige  Bits  sind  genauso zufällig wie höherwertige Bits.  Bei
       älteren Implementationen von rand() sind niederwertige Bits jedoch viel
       weniger zufällig als höherwertige Bits.

       In  Numerical Recipes in C: The Art of Scientific Computing (William H.
       Press, Brian P. Flannery, Saul A. Teukolsky, William T. Vetterling; New
       York:  Cambridge  University Press, 1990 (1st ed, p. 207)), finden sich
       die folgenden Kommentare:
              "Wenn Sie Zufalls-Ganzzahlen zwischen 1 und 10 erzeugen möchten,
              sollten Sie dies immer wie folgt tun:

                     j=1+(int) (10.0*rand()/(RAND_MAX+1.0));

              und niemals auf folgene oder ähnliche Weise:

                     j=1+((int) (1000000.0*rand()) % 10);

              (wodurch niederwertige Bits benutzt würden)."

       Zufallszahlenerzeugung ist ein kompliziertes Thema.  Das Buch Numerical
       Recipes in C (siehe  oben)  liefert  eine  exzellente  Diskussion  über
       praktische Zufallszahlenerzeugung in Kapitel 7 (Zufallszahlen).

       Für  eine  mehr  theoretische  Diskussion,  die  auch  viele praktische
       Aspekte behandelt, sehen Sie bitte Kapitel 3 (Zufallszahlen) in  Donald
       E.  Knuths  The  Art  of  Computer Programming, volume 2 (Seminumerical
       Algorithms), 2nd ed.; Reading, Massachusetts: Addison-Wesley Publishing
       Company, 1981.

KONFORM ZU

       SVID 3, BSD 4.3, ISO 9899

SIEHE AUCH

       random(3), srandom(3), initstate(3), setstate(3).