88问答网
所有问题
单片机C语言如何产生随机数
想用keill 写个产生0-9的随机数的程序用在C51单片机里,但是它不能识别time.h头文件,rand函数。请高手帮帮忙啊,谢过!急啊
举报该问题
推荐答案 推荐于2016-02-03
1、C语言提供了一些库函数来实现随机数的产生。C语言中有三个通用的随机数发生器,分别为 rand函数, random函数, randomize 函数
2、但是rand函数产生的并不是真意正义上的随机数,是一个伪随机数,是根据一个数,称之为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态公布,从而相当于产生了随机数,但这不是真正的随机数,当计算机正常开机后,这个种子的值是定了的,除非破坏了系统,为了改变这个种子的值,C提供了srand()函数,它的原形是void srand( int a)。
3、在调用rand函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。一般用for语句来设置种子的个数。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://88.wendadaohang.com/zd/tc1ataBtg.html
其他回答
第1个回答 2012-02-09
奢侈,浪费,乘除取余在8位的单片机中都好费时间和代码,再搞个rand 函数太奢侈了啊
C52中带AD的话,倒是可以模似出随机来,
思路是指定一个脚为AD输入口,并启动AD功能,同时这个接脚置反或不停的置1置0,待转换完成了取转换结果, 理论上讲,跳变中的电位应当是比较随机的值.
第2个回答 推荐于2018-02-28
KEIL里面产生随机数的函数确实是rand(),但头文件是stdlib.h,不是time.h。
本回答被网友采纳
第3个回答 2012-02-09
keil本身是不带time.h头文件的,除非你自己构造一个。
第4个回答 2020-02-21
time.h头文件是利用PC机的系统时间,而单片机没有,需要用定时器来模拟。在C51中rand函数是有的,包含stdlib.h头文件就可以调用了。下面是我之前回答过的问题,跟你的问题很类似。
http://wenwen.soso.com/z/q213187811.htm
如有什么不清楚欢迎追问!
1
2
下一页
相似回答
如何
使用
C语言产生随机数
?
答:
1、首先,打开
C语言
编译器,新建一个初始.cpp文件,例如:test.cpp。2、在test.cpp文件中,输入C语言代码:for (int i = 0; i < 10; i++)printf("%d ", rand() % 100 +1);3、编译器运行test.cpp文件,此时成功通过rand
产生
了10个1-100内的整数。
C语言如何
编程
产生随机数
?
答:
1、首先打开Visual stdio 2019,依次点击文件,新建,项目新建以一个空白的项目:2、新建新项目以后,右键点击左边的源文件,选择添加,点击添加项:3、选择cpp,并将下方的扩展名改为.c,然后点击确定:4、接下来就可以用编译器编译,使用rand()函数
产生C语言
的
随机数
,需要加入stdlib.h和time.h在表头...
c语言随机数怎么生成
答:
1、使用rand函数生成随机数
,rand随机生成一个位于0~RAND_MAX之间的整数。如下图中,我们直接使用rand方法生成10个随机数。2、程序运行后生成了随机数,但直接使用rand的问题在于,在下次程序调用时,生成的随机数与上次一致。所以,rand函数虽然生成随机数,但可以说是一个伪随机。因为每次调用时,生成数...
C语言
中获得
随机数
的方法
答:
C语言
/C++
怎样产生随机数
:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。例如...
怎样用c语言生成
n个
随机数
?
答:
产生
一定范围
随机数
的通用表示公式\x0d\x0a\x0d\x0a要取得[a,b)的随机整数,使用(rand() % (b-a))+ a;\x0d\x0a\x0d\x0a要取得[a,b]的随机整数,使用(rand() % (b-a+1))+ a;\x0d\x0a\x0d\x0a要取得(a,b]的随机整数,使用(rand() % (b-a))+ a + 1;\x...
c语言如何
实现
随机数字
的
产生
答:
1.
C语言
提供了一些库函数来实现
随机数
的
产生
。C语言中有三个通用的随机数发生器,分别为 rand函数,random函数,randomize 函数 2.但是rand函数产生的并不是真意正义上的随机数,是一个伪随机数,是根据一个数,称之为种子,为基准以某个递推公式推算出来的一系数,当这系列数很大的时候,就符合正态...
c语言
,
如何产生随机数
答:
\x0d\x0a\x0d\x0aC++中常用rand()函数
生成随机数
,但严格意义上来讲生成的只是伪随机数(pseudo-random integral number)。生成随机数时需要我们指定一个种子,如果在程序内循环,那么下一次生成随机数时调用上一次的结果作为种子。但如果分两次执行程序,那么由于种子相同,生成的“随机数”也是相同...
如何用c语言产生
一定范围内的
随机数
?
答:
在
C语言
里所提供的随机数发生器的用法:现在的C编译器都提供了一个基于ANSI标准的伪随机数发生器函数,用来
生成随机数
。它们就是rand()和srand()函数。这二个函数的工作过程如下:1) 首先给srand()提供一个种子,它是一个unsigned int类型,其取值范围从0~65535;2) 然后调用rand(),它会根据提供...
大家正在搜
单片机随机数产生函数
单片机如何随机生成数字
51单片机汇编产生随机数
51单片机随机数生成
51单片机生成随机数代码
51单片机计数器选随机数
如何产生一个随机数
汇编语言产生0到9随机数
c语言怎么产生随机数
相关问题
c语言,如何产生随机数
怎样在单片机C语言里面产生一个0到100的随机数
51单片机用C语言如何产生随机数
如何用单片机产生随机数
51单片机,C语言 产生一个0~100的随机数,怎...
C语言中产生随机数
c语言,如何产生随机数
C语言如何生成随机数