Ž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
------------------------------------------------

Reply via email to