为什么int x = rand() % n没有 j=(int)(n*rand()/(RAND_MAX+1.0))好
展开全部
避免取模操作%是为了避免在某些情况下,某些伪随机数生成器产生的数,低位不够随机的问题,这里涉及到二进制问题,因为取模在二进制意义上可能代表取得低位。
不过在针对自己的需要下,随机数可以满足所需的情况下,前者是完全可以代替后者的,毕竟前者的时间性能要好
不过在针对自己的需要下,随机数可以满足所需的情况下,前者是完全可以代替后者的,毕竟前者的时间性能要好
参考资料: http://c-faq-chn.sourceforge.net/ccfaq/node236.html
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询