原创 C语言随机数小结

2023-3-11 16:09 1776 11 11 分类: MCU/ 嵌入式 文集: C语言
这篇博文分享关于在C语言中生成随机数的问题
首先,在C语言中的库函数中stdlib.h包含了一个函数rand(),它是用于生成随机数的,范围是[0,2147483647]内的整数,等效于直接在c文件中这样写语句①int a = rand();,这样生成的随机数永远是一个相同的数,因为rand()函数是按照随机数种子来操作的,可通过语句②srand((unsigned)time(NULL));语句进行随机化随机数种子。
生成指定范围的随机数便可通过语句③rand()%26 + 97;(其中,%为取余符号,26和97为随意选定的)来实现,该语句是生成[97,97+25]范围内的整数。比如通过语句①生成了随机数a = 1000,那么1000除以26等于38.46153...,小数部分乘以26便是1000%26的结果(取整),因为小数部分范围为(0,1),所以余数的范围便为(0, 26),所以语句③的范围就是[97,  97+26)等效于[97, 97+25]。
上面这种方法简洁明了,还有一种方法在c文件中写入语句④(int)(n * rand() / (RAND_MAX + 1.0));也可实现(该语句实现生成[0,n]范围的整数)。

作者: muqishi, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-4026276.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
11
关闭 站长推荐上一条 /2 下一条