code:
1
2
3
4
5
| srand(time(NULL));
//float ratio = rand() / RAND_MAX;
printf("num: %i\n", rand()); |
Ik heb het bovenstaande stukje code geschreven. De random lijkt echter niet echt random. Ik wil namelijk dat ik echt een random getal krijg tussen de nul en één.
Dit stukje code wordt elke 100 frames aangeroepen(het betreft een opengl applicatie en elke keer na 100 frames wordt dit aangeroepen). Maar als ik dus de waardes van rand() bekijk zijn ze niet echt random, maar volgen ze elkaar op:
code:
1
2
3
4
5
6
| num: 6150 num: 6154 num: 6160 num: 6167 num: 6170 num: 6177 |
Rara, hoe kan dat en hoe los ik dat op?
PS. Ik heb al een aantal topics doorgelezen hier op GoT, maar heb DE oplossing niet kunnen vinden.
edit:
het lijkt erop dat hij gewoon door telt. Toen ik de applicatie nog een keer starte nadat ik bovenstaande output gecopy paste had begon ie ergens bij 7200, daarna bij 7400 in de buurt. Ik begrijp er geen snars van
[ Voor 14% gewijzigd door Verwijderd op 28-05-2003 19:16 ]