From Borland C++ 3.1 Help, article rand():
rand uses a multiplicative congruential random number generator with period
232 to return successive pseudo-random numbers in the range 0 to RAND_MAX.
It used to be so in some old C standard (C89 I guess), then it was fixed.