概述
1+(int)(10.0rand()/(RAND_MAX+1.0));
整个语句的作用是产生随机数1~10。
rand():用来产生一个随机数的函数,范围是[0, RAND_MAX],RAND_MAX是C中stdlib.h中宏定义的一个字符常量:
#define RAND_MAX Ox7FFF其值最小为0,最大为Ox7FFF。
10.0rand()得到一个浮点数,是10倍的[0, RAND_MAX],结果是[0.0,10.0RAND_MAX]。
/(RAND_MAX + 1.0):改变取值范围为 [0.0 , 1.0)
(int)(10.0rand() / (RAND_MAX + 1.0)) :在[0.0 , 10.0)中取整:0,1,2…9
1.10.0*rand()/(RAND_MAX+1.0);
2.rand()%10;随机数是0~9,
对于式1,其实就是随机一个0~10之间不包括10的一个浮点数,然后强制转换成int就是0至9之间的整数了
这个跟第二个不同的地方就是,在多次随机出来的结果,前者理内论上会更平均,而后者仅仅是和容10求余得到的结果,没前面的结果来得平均
最后
以上就是难过冬瓜为你收集整理的随机数生成方法的全部内容,希望文章能够帮你解决随机数生成方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复