Re: Werte fü r das C'sche srand()
David Haller <[email protected]>
| Newsgroups | gmane.linux.suse.programming |
|---|---|
| Message-ID | <[email protected]> |
Hallo, Am Tue, 12 Oct 2004, Bernhard Walle schrieb: >* Ferdinand Ihringer <[email protected]> [2004-10-12 22:08]: >> >> Ich habe ein Problem mit Zufallszahlen bzw. ein Problem mit dem Ausgangswert >> fÌr Pseudozufallszahlen mit srand(). Das Programm sollte plattformunabhÀngig >> sein und ich wÌrde mich gerne auf die zum ANSI-Standard gehörenden Funktionen >> beschrÀnken, aber fÌr statistische Zwecke rufe ich es z.B. 10000 mal >> hintereinander auf. Als einzigen plattformunabhÀngigen Wert, der da in Frage >> kommt, kenne ich da time(0). BTW: "eigentlich" sollte das wohl 'time(NULL)' sein. Oder noch korrekter: time( (time_t *)0 ); *SCNR* >> Die 10000 Programmaufrufe erstrecken sich aber >> nun leider Ìber ein bisschen mehr als 60 Sekunden. Da hÀtte ich das Programm >> auch nur 60 mal aufrufen können. > >PID auslesen (getpid() unter POSIX) geht auch nicht? Ansonsten kann >man auch uninitialisierte Variablen vom Stack auslesen, geht natÌrlich >aus jeder Plattform. ftime() wÀre auch POSIX, aber eben nicht ANSI C. Und vielleicht 'gettimeofday' oder statt 'time'. Das mit der PID ist sicherlich auch noch ne Idee. Evtl. koennte mann das Ergebnis auch noch durch einen Hash-Algorithmus schicken, z.B. MD5 oder SHA1 und dies dann wieder auf 'sizeof(unsigned int)' "kuerzen" (und zwar nicht mit nem einfachen 'mod'). -dnh -- As it turned out, this cute girl I had been talking to spoke Russian. One instant gift at hand. As it turned out we had a lot in common. We both liked girls for one thing. Ah well. -- stevo -- Um die Liste abzubestellen, schicken Sie eine Mail an: [email protected] Um eine Liste aller verfÌgbaren Kommandos zu bekommen, schicken Sie eine Mail an: [email protected]