Živ!
Malo se igram z naključnimi števili in sem naletel na en meni nejasen problem.
Najprej dva programčka:
#include <stdio.h>
#include <math.h>
#include <limits.h>
double krneki(){
int rnb,fd;
double tmp;
fd = open("/dev/random","r");
read(fd,&rnb,4);
close(fd);
tmp = abs(rnb)/(double)INT_MAX;
printf("%f\n",tmp);
return tmp;
}
main (){
printf("%f\n",krneki());
}
in še drugi:
#include <stdio.h>
#include <math.h>
#include <limits.h>
main(){
int rnb,fd;
double tmp;
fd = open("/dev/random","r");
read(fd,&rnb,4);
close(fd);
tmp = abs(rnb)/(double)INT_MAX;
printf("%f\n",tmp);
}
Drugi program dela brez problemov (izpiše naključno realno število), prvi pa
tudi izpiše realno število (2X), ampak je problem v tem, da je to število
vedno enako (tudi če ga zaženem velikokrat z večjimi časovnimi presledki).
Kje je catch?
bye
------------------------------------------------
Miha Strohsack
http://members.tripod.com/~strozi
finger [EMAIL PROTECTED]
for public PGP 5 key
------------------------------------------------