c语言用rand()取随机数能不能取的是小数???
答案:3 悬赏:30 手机版
解决时间 2021-04-04 03:23
- 提问者网友:人生佛魔见
- 2021-04-03 20:15
c语言用rand()取随机数能不能取的是小数???
最佳答案
- 五星知识达人网友:大漠
- 2021-04-03 21:03
rand()是生成一个从0到RAND_MAX的随机数,所以要生成小数,除以RAND_MAX就一定是一个小数:
(double)rand()/RAND_MAX
什么叫随机数?就是不确定的数,不过这个表达式,可以肯定的是从0到1的小数。
(double)rand()/RAND_MAX
什么叫随机数?就是不确定的数,不过这个表达式,可以肯定的是从0到1的小数。
全部回答
- 1楼网友:鱼忧
- 2021-04-04 00:07
比如可以这样做:
float a = ( rand() ) * 0.001f; // 精度你可以自己决定。追问这样怎么确定范围?
像是n=rand()%(y-x+1)+x是取x到y的随机数
float a = ( rand() ) * 0.001f; // 精度你可以自己决定。追问这样怎么确定范围?
像是n=rand()%(y-x+1)+x是取x到y的随机数
- 2楼网友:从此江山别
- 2021-04-03 22:40
rand的结果是0-32767之间的整数。如果要取小数,可以用除法。比如:
double r = rand() / 32768.0;
得到的r是0-1之间的小数(包括0,但不包括1)
double r = rand() / 32768.0;
得到的r是0-1之间的小数(包括0,但不包括1)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯