Zeit messen + Zufallszahlen in C++

Zeit messen:
Code:
double zeit=GetTickCount();
// Tu was
double zeit2=GetTickCount();
double time=zeit2-zeit; // Erg in ms
Zufallszahlen
Code:
#include <Math.h>
Randomize();
int zufall=random(10); // Zufallszahlen von 0-9
 
Hi,
GetTickCount ist Windows spezifisch.
Andere Möglichkeit zum Zeit messen die IMO nicht Windows spezifisch ist:
Code:
#include <time.h>
clock_t t1,t2;
t1=clock();
// Tu was
t2=clock();
double time=((float)(t2-t1)/CLOCKS_PER_SEC);
 
und bei der rand() funktion sollte man immer vorher noch die srand() funktion aufrufen.

weil sonst immer die gleichen zufallszahlen kommen, ist so habe ich getestet :)
 
Original geschrieben von Dizzy_Ti
Hi,
GetTickCount ist Windows spezifisch.
Andere Möglichkeit zum Zeit messen die IMO nicht Windows spezifisch ist:
Code:
#include <time.h>
clock_t t1,t2;
t1=clock();
// Tu was
t2=clock();
double time=((float)(t2-t1)/CLOCKS_PER_SEC);

Die Geschichte ist GNU und POSSIX kompatibel, und damit fährst du auch am besten.


PS woher kenn ich den Code nur *kopfkratz

;)
 
Original geschrieben von Dizzy_Ti
@intel_hasser
Sry, wusste nicht,dass du ein Patent auf den Code hast ;)

Ach keine Angst... darum wird sich dann mein Patentanwalt kümmern *chatt*

@Novox
hmmm ja. Deutsche Sprache eben ;)
 
Apropo Zufallszahlen:
Anforderung war, 16 Bit Zufallszahlen (ohne 0) möglichst billig zu erzeugen.
Folgender Code erfüllt das:

Code:
static WORD RandValue = 0;

WORD OS_Rand (void)
{
    RandValue = (WORD) ((RandValue * 214013L + 2531011L) >> 16);
    return (WORD) ((RandValue==0) ? 42 : RandValue );
}
Die einzige Funktion eines kleinen Embedded OS für ISDN-Telefone, welche unter gewissen Umständen die Antwort auf die große Frage "nach dem Leben, dem Universum und allem" zurück liefert.

Das OS nennt sich Kernel42. *buck*
 
Zurück
Oben Unten