rand()原理

rand()函数用于生成伪随机数。在使用前需设置种子,如不设置,默认种子为1。rand()的生成过程类似一次函数并取模,公式为rand() = (a * seed + b) % c,其中a, b, c为常数。若想生成特定范围的随机数,可以利用取模运算,例如[a, b)的整数或[0, 10^k)的浮点数。" 111513985,10324566,STC15W201S单片机控制IO口实战教程,"['嵌入式开发', '单片机编程', 'STC系列', 'C语言编程']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

rand()原理

参考这一篇博客这一篇博客

用rand()之前,要设置一个种子:srand(seed),否则seed默认为1

也可以srand(timd(NULL)),这样每次生成的伪随机数都不一样

总的来说,系统的生成大概就是一个一次函数,然后加一个模数 rand()=(aseed+b)%c r a n d ( ) = ( a ∗ s e e d + b ) % c ,其中 a,b,c a , b , c 均为常数

生成 [a,b) [ a , b ) 之间的伪随机整数: Ans=rand()%(ba)+a A n s = r a n d ( ) % ( b − a ) + a

生成 [0,10k) [ 0 , 10 k ) 之间的伪随机浮点数: rand()/(double)(MaxRand/10k) r a n d ( ) / ( d o u b l e ) ( M a x R a n d / 10 k ) ,其中 MaxRand M a x R a n d 为自己定义的随机上限

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值