Cplusplus Zufallszahlen



  • Er meinte ja auch

    return std::mt19937(rd());
    

    Ich hoffe cooky kann Flüchtigkeitsfehler erkennen.



  • Skeptar schrieb:

    Leute....
    es ist ja nett das ihr so viele Antworten schreibt,
    aber ihr vergesst das entscheidene, dass ich neu in C++ bin 😃
    Ich wollte eigentlich nur eine Zufallszahl in einer Variable speichern um daraus ein Ratespiel zu erstellen..... .
    Also geht das alles noch viel einfacher`??? 😃

    Skeptar

    Wie schon gesagt:

    #include <cstdlib>
    #include <ctime>
    ...
    srand(time(NULL)); // anfang der main
    ...
    int rand_nr = rand() % (max - min) + min;
    


  • Sone schrieb:

    Ich hoffe cooky kann Flüchtigkeitsfehler erkennen.

    Ehm na ja gut, es gibt schon einen Grund warum seed_seq existiert, und der ist zufälligerweise ziemlich genau mt19937.



  • cooky451 schrieb:

    Sone schrieb:

    Ich hoffe cooky kann Flüchtigkeitsfehler erkennen.

    Ehm na ja gut, es gibt schon einen Grund warum seed_seq existiert, und der ist zufälligerweise ziemlich genau mt19937.

    ja, sorry 🙂 ich hatte da wohl den Talk falsch verstanden. Ich dachte - und es klang intuitiv logisch - dass man nen random_device als seed_seq übergeben könnte.



  • Leidet die Zufallszahlenqualität des mt19937 annähernd messbar durch den kleineren Seed?


  • Mod

    Ethon schrieb:

    Leidet die Zufallszahlenqualität des mt19937 annähernd messbar durch den kleineren Seed?

    Ja.



  • cooky451 schrieb:

    Sone schrieb:

    Ich hoffe cooky kann Flüchtigkeitsfehler erkennen.

    Ehm na ja gut, es gibt schon einen Grund warum seed_seq existiert, und der ist zufälligerweise ziemlich genau mt19937.

    Davon redete ich gar nicht. Ich dachte, Onkel otze hatte aus Versehen die Klammern vergessen...



  • Ethon schrieb:

    Leidet die Zufallszahlenqualität des mt19937 annähernd messbar durch den kleineren Seed?

    mt19937 hat einen sehr großen internen state, den mit 32 Bit entropie zu füllen ist eher mühselig. Ausserdem hat der generator eine ziemlich lange einbrennzeit, es braucht also lange bis du von den initialen 32 Bit auf einen zufällig aussehnden internen zustand kommst.



  • Jau, mittlerweile schon mitbekommen dass 19937 für einen 19937bit State steht. 😃



  • Nathan schrieb:

    Wir sind im C++ Forum...

    amen!



  • Sathan schrieb:

    Nathan schrieb:

    Wir sind im C++ Forum...

    amen!

    Nein, nicht so sei es, so ist es.



  • Nathan schrieb:

    Nein, nicht so sei es, so ist es.

    Interessant! Wusste gar nicht, was Amen heißt. 🙂

    Ethon schrieb:

    Jau, mittlerweile schon mitbekommen dass 19937 für einen 19937bit State steht. 😃

    Und für die immense Periodendauer von 2199372^{19937}.


Anmelden zum Antworten