In a small application written in C/C++, I am facing a problem with the rand
function and maybe the seed :
I want to produce a sequence of random numbers that are of different orders, i.e. with different logarithm values (base 2). But it seems that all the numbers produced are of the same order, fluctuating just between 2^25 and 2^30.
Is it because rand()
is seeded with Unix time which is by now a relatively big number? What am I forgetting ?
I am seeding rand()
only once at the beginning of the main()
.
There are only 3% of numbers between 1 and 230 which are NOT between 225 and 230. So, this sounds pretty normal :)
Because 225 / 230 = 2-5 = 1/32 = 0.03125 = 3.125%