c 语言生成一个随机4位数,PLC如何产生一个随机数(含代码)

原标题:PLC如何产生一个随机数(含代码)JZGKCHINA尊重原创 勿抄袭在剑指工控群里,一群友问 PLC 如何产生随机数,曾记得除了三菱PLC 之外其他常规品牌好像没有提供专门的随机函数。这里就整理两种产生随机数的方法:第一种最简单直接的方法。此方法使用的是读取CPU系统时间的纳秒作为随机数。如下图: 纳秒的位数越多随机数越无规律。第二种用得较多的是“线性同余法"就是下面这个式子R(n+1)...
摘要由CSDN通过智能技术生成

原标题:PLC如何产生一个随机数(含代码)

JZGKCHINA

尊重原创 勿抄袭

在剑指工控群里,一群友问 PLC 如何产生随机数,曾记得除了三菱PLC 之外其他常规品牌好像没有提供专门的随机函数。这里就整理两种产生随机数的方法:

第一种最简单直接的方法。

此方法使用的是读取CPU系统时间的纳秒作为随机数。如下图:

43d823f6be8fa9ec8bc9468a67cc6629.png

f791eb8f0d44efadc4b9ad6c23e77740.png

纳秒的位数越多随机数越无规律。

第二种用得较多的是“线性同余法"

就是下面这个式子

R(n+1) = [R(n) * a + b] mod c

为使随机数分布尽量均匀,a 、b均为质数,c一般取值域内的最大值(mod是求余数)

从这个式了可以看出,每次产生的随机数都跟上一次产生的数有关系,那么,第一个数是怎么来的呢?这就是线性同余法中必须用的的”种子 ",也就是说,给定某个种子后,所产生的随机数序列是固定的,在计算机编程中,一般使用系统时间来初始化种子,就是前面代码中的srand((unsigned)t

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值