问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

unsigned aa=(rand()*1000)/RAND_MAX+15550;有bug吗?请详细分析。rand...

发布网友 发布时间:2024-08-18 15:37

我来回答

3个回答

热心网友 时间:2024-08-25 12:53

rand()的范围很小,是16位的无符号整数,所以再乘以1000不会超出unsigned int的范围

这句话的意图应该是要生成15550 ~ 16550之间的数

这样写个近似的就好理解了unsigned aa=(unsigned)(((float)rand()/RAND_MAX)*1000)+15550 由于rand()返回的是整数,直接这么写rand()/RAND_MAX只能得到0,所以要先转化成浮点运算得到一个[0,1)范围内的数,再扩大1000倍,再加上15550。其实这种写法和你的差不多,我做了个实验,*1000的时候两者是等价的。若不是1000,误差有的时候是1,这个我觉得可以忽略不计,本来整数除法就是有误差的。

热心网友 时间:2024-08-25 12:55

如楼下所述通常rand()本身是返回整数,你再乘1000可能越界,后面加的15550也很大,你目的是什么?

请参考:
http://zhidao.baidu.com/question/527823025.html

热心网友 时间:2024-08-25 12:53

原型:int rand( void );
返回值:The rand function returns a pseudorandom integer in the range 0 to RAND_MAX (32767). Use the srand function to seed the pseudorandom-number generator before calling rand.

所以返回是int,1000也是int的,因为你没有用UL作为结尾(1000UL为unsigned的),
所以rand()*1000的最大值是32767000 (0x01F3FC18),所以也没有over flow.

rand()*1000/RAND_MAX的范围是[0,1000].也没有问题,所以aa的范围1000~16,550.也有发生问题。

至于compiler用的中间variable。debug和release不同,不用的compiler结果也不过。还与你的编译选项相关,所以无法回答。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? UPX 4.0.2 源码分析 partial_sort函数应用举例 伪随机数程序实例 我想这样过六一 五年级作文 500字 寂静之道目录 丹真绒布仁波切受到的认证和传承 我想问问扣满12分可以找人消分吗 FPU是什么?有什么作用呢? 浮点数不能被精确的存储,但是为什么可以被精确的输出 拔苗助长故事新编作文400字 汽车平均油耗准不准 交警查酒驾主人不知情没出证件可以翻车上私人物品? 派出所民警开的不是警车而且遮挡号牌查酒驾,违法么? 滨州警方回应直播查酒驾执法不严,交警执法需要什么证件? 高中文科生可以选择哪些专业 文科生可以报哪些专业 哪些就业前景好 文科生可以报哪些专业 2024哪些专业前景好 文科生最好的六个专业 哪个专业最挣钱 文科生最好的六个专业 什么专业有前途 2024文科就业前景好的专业 什么专业吃香 ...4个胡罗卜十1个苹果=1橙子,几个胡罗卜=1个橙子 小白:六个胡萝卜可以换两个胡萝卜。 小花:九个白萝卜可以换三颗大白菜... Numpy数组的索引与切片和变形拼接分裂 c语言中如何用srand产生0-1000000的随机数 Python中numpy数组如何添加元素 excel随机数限定范围excel随机数限定范围公式 excel怎样随机生成数字的范围 一般庄园饭店里面的百事可乐是多少钱一瓶啦?2L的,知道的回答下,谢谢... 平安银行风险经理岗如何 中国十大盘山公路排行榜:晴隆24道拐上榜,第七在张家界 元道经纬相片怎么ps时间用元道经纬怎么把照片添加时间 假如你是一名导游,今天要带领游客去参观北京动物园,写一篇英语..._百... ...用英语写一篇短文,介绍刘涛去动物园参观的情况,词数 1-3岁女宝宝锅盖头图片 百度云盘登录入口在哪里? 海带适合做哪些美食? python入门:一维数组与二维数组 python自定义函数 对一个二维数组进行操作,去掉该数组的第一列,最后... 请问公务员辞职补偿标准 公务员辞退的法定事由是什么,补偿金该怎么算?