首页 > 其他分享 >关于srand((unsigned)time(NULL))详解

关于srand((unsigned)time(NULL))详解

时间:2023-05-18 21:12:08浏览次数:61  
标签:srand unsigned seed 种子 随机数 time NULL

srand()函数用来设置算法的种子,time(NULL)返回当前的时间,先调用srand(time(NULL))是把当前的时间作为种子,是程序每次运行产生不同的随机数序列。

涉及到三个概念:

1、随机数:数学上产生的都是伪随机数,真正的随机数使用物理方法产生的。

2、随机数种子:随机数的产生是由算术规则产生的,srand(seed)的随机数种子不同,rand()的随机数值就不同,倘若每次的随机数种子一样,则rand()的值就一样。所以要产生随机数,则srand(seed)的随机数种子必须也要随机的。

3、用srand()产生随机数种子

原型:void srand ( unsigned int seed )。作用是设置好随机数种子,为了让随机数种子是随机的,通常用time(NULL)的值来当seed。

标签:srand,unsigned,seed,种子,随机数,time,NULL
From: https://www.cnblogs.com/gunancheng/p/17413301.html

相关文章

  • TimescaleDB VS TDengine:写入性能和查询性能是 TDengine 的 1/6、1/28
    基于第三方基准性能测试平台TSBS(TimeSeriesBenchmarkSuite)标准数据集,TDengine团队分别就TSBS指定的DevOps中cpu-only五个场景,对时序数据库(TimeSeriesDatabase,TSDB)TimescaleDB和TDengine进行了对比测试。本文将会从写入、存储、查询及资源开销等几大维度为大家汇......
  • 水晶报表 加载报错 An error has occurred while attempting to load the Crystal Rep
    源错误:CrystalReportsAnerrorhasoccurredwhileattemptingtoloadtheCrystalReportsruntime.EithertheCrystalReportsregistrykeypermissionsareinsufficientortheCrystalReportsruntimeisnotinstalledcorrectly.Pleaseinstalltheappropriate......
  • Duplicate class androidx.lifecycle.ViewModelLazy found in modules lifecycle-view
    AS版本:AndroidStudioBumblebee|2021.1.1Patch1Build#AI-211.7628.21.2111.8139111,builtonFebruary2,2022Runtimeversion:11.0.11+9-b60-7590822amd64VM:OpenJDK64-BitServerVMbyOracleCorporationWindows1010.0GC:G1YoungGeneration,G1OldGene......
  • 【Mysql】update时报错:Lock wait timeout exceeded; try restarting transaction
    1、查找正在执行的事务SELECT*FROMinformation_schema.INNODB_TRX;2、杀掉LOCKWAIT的进程trx_mysql_thread_id:进程idkillxxxOR3、查看所有进程SHOWPROCESSLIST;4、杀掉异常的进程,比如Sleep状态、影响你正在操作的业务的进程id:进程idkillxxx......
  • Joda Time : 处理时间问题
    更多的详细介绍:Joda-Time简介[url]http://h819.iteye.com/blog/611099[/url]你觉得一个API设计得差到什么份上,才会把自己差不多的API全部Deprecated掉。java.util.Date便是这样的奇葩。因为它的API几乎都是反直觉的,几乎所有敢于用它的Java程序员都吃过它的亏。想初始化个2013......
  • delphi Pascal yolov5 deepsort 目标检测 目标跟踪,支持onnxruntime、dnn、openvino和t
    delphiPascalyolov5deepsort目标检测目标跟踪,支持onnxruntime、dnn、openvino和tensorrt推理yolov5,使用c++封装成dll,delphi调用封装好的dll,实现目标检测和跟踪ID:212600676471966472......
  • yolov5v6.2 实例分割 Labview工业应用,封装dll后labview调用,支持openvino dnn onnxrunt
    yolov5v6.2实例分割Labview工业应用,封装dll后labview调用,支持openvinodnnonnxruntime和tensorrt四种方式推理,500万像素图像:cpu下openvino推理只要85ms、GPU下tensorrt推理只要25ms,最强实例分割模型。ID:114500689839116112......
  • Python_报错:curl: (7) Failed to connect to raw.githubusercontent.com port 443: Op
    解决:https://blog.csdn.net/Jimmmyking/article/details/126105788作为mac的用户,如果你还没安装Homebrew那真的就太遗憾了,应为其真的很好用,然后安装Homebrew有时候有不是那么简单,会出现很多奇奇怪怪的错误,如下是我本人第一次安装就成功,其重要用的是中科大的brew主体,使用这个只需......
  • C#学习之time控件和timer_tick事件
    https://blog.csdn.net/ycigwy/article/details/70242669Timer控件:Timer控件只有绑定了Tick事件,和设置Enabled=True后才会自动计时,停止计时可以用Stop()控制,通过Stop()停止之后,如果想重新计时,可以用Start()方法来启动计时器。Timer控件和它所在的Form属于同一个线程;timer1_Tick:......
  • qtime 的实现
    QTime、QDate、QDateTimeQDate使用一个uint的变量来记录从儒略日到指定日期的天数长度QDate中只有一个私有变量:uintjd,jd用来标识儒略日(公元前4713年1月1日中文12点依赖的天数)以来的天数QDate的两个主要函数是指定年月日返回jd数据,以及根据jd计算年月日staticuint......