title: How random is the rand() function?
body: <p>More specifically my question is, given infinite time will <code>int(rand()*1000)</code> eventually hit every number between 0 and 999?  What about 10^4, 10^5...  I guess it's guaranteed to break once you hit the size in memory, i.e. if rand() returns a float, which is say n bits in memory, you can't possibly hit more than n different integers, so once you got to <code>rand()*(2^n+1)</code>, you're guaranteed to miss some.</p>