在Linux平台下:
rand()/RAND_MAX 为0,(float)(rand()/RAND_MAX) 为0,(float)rand()/RAND_MAX 为小数。
我认为在Linux下分子为整数的话,除得的结果自然是整数了。
Linux下RAND_MAX和Windows下的RAND_MAX(都是32位操作系统):
window下的RAND_MAX为:0x7fff=2^15-1
linxu下的RAND_MAX为:2^31-1 加上一个正数最高位就为1=负数,即 - RAND_MAX=RAND_MAX+1所以 - rand()/RAND_MAX=rand()/(RAND_MAX+1)