看了很多帖子,说用srand产生种子,然后rand()产生随机数
但是种子必须每次不一样的
C语言中time.h可以产生种子:srand((unsigned int)time(NULL))
可是keil中没有time.h 即使我把C库函数中的time.h复制到keil相应文件夹下也不管用
请教高手如何产生随机数呢?
谢谢你,我好像是做出来了
用定时计数器0产生中断,记录中断次数作为种子,i=rand();delay(i);
每次延时都是不一样的,你看这样对吗?
keil中如何产生随机数?
1)如果希望rand()在每次程序运行时产生的值都不一样,必须给srand(seed)中的seed一个变值,这个变值必须在每次程序运行时都不一样(比如到目前为止流逝的时间)。2)否则,如果给seed指定的是一个定值,那么每次程序运行时rand()产生的值都会一样,虽然这个值会是[seed, RAND_MAX(0x7fff))之...
如何用KEIL C实现随机数字的产生
3楼巨好的方法,支持。但好像不使用KEILC产生的!不过KEILC中也有随机函数rand();\/*TEST.c*\/ include<stdlib.h> voidmain(void){ chari,j,k;i=0x5f;j=rand();k=0xf5;} 反编译结果,随机数放在R7中 ;=== Q0003:MOVR4,08H;0003AC08 MOVR5,09H;0005AD09 MOVR6,0AH;0007AE0A MOVR7...
keil 随机数函数
a=rand()*x+y;就能产生[y,x+y)之间的数字 用randomize做序列初始化,然后调用rand函数。
keil 生成随机数的问题,帮忙看一下问题在哪
if((c > 9) && (c < 10)) --就是不成立 不如用 P1 = c; ,直接看一看随机数是多少。
怎么用C语言在keil里产生随机数?51单片机
靠51单片机内部设备是找不到种子的,还得靠外围设备,例如:将外界的亮度、声音频率通过传感器传入单片机作为种子。那种能产生随机数的单片机内部都有个随机数发生器的。
51单片机用random()函数随机产生0和1,LED亮灭表示0和1?
如果没有外界因素介入,51 单片机是不会出现随机数的。C 语言的随机数函数,一般是从定时器取值。但是,单片机的程序是固定的,执行到 random() 时的时刻,也是固定的。如果没有外界因素介入,产生的随机数,也就是确定的值。
keil4 同样的源程序, 每次编译生成的hex文件crc校验码都不一样,为什么...
会自动插入一些随机数,进行冗余计算,这个是为了保密的需要,试想,如果一个编译器不进行保密的冗余计算,那么,稍微有点知识的人,就可以很容易的从HEX文件反推回汇编语言,这样的编译器,哪个厂家敢用?自己辛苦写的软件,很容易的就被人盗版了。所以,这个是没有办法的事情。
在keil上编程和在C++上编程有什么区别。
因为c++你用的vc的IDE,常用的IDE系统给你弄好了,但是如果直接在keil上,那么你就需要看看到底它的系统给你提供了什么头文件,这个一般说明文档什么的都有,所以,先看文档,然后再考虑别的问题。如果他提供了的话,也不一定头文件的名字一样。要知道,vc只是微软公司自己开发的工具,别的公司就不一定...
C51语言中为什么需要包含头文件
功能: rand返回一个0到32767之间的伪随机数,srand用来将随机数发生器初始化成一个已知的(期望)值。 Keil uVision3中的math.h库中,不包含此函数。 extern float sin (float val);extern float cos (float val);extern float tan (float val); 功能: 返回val的正弦,余弦,正切值。val为弧度 fabs(var) <=...
...模仿一个抽奖系统。关键不会产生随机数,请大家帮帮忙。
include <stdlib.h> include <stdio.h> include void main( void ){ int i;\/* Seed the random-number generator with current time so that the numbers will be different every time we run.\/ srand( (unsigned)time( NULL ) );\/* Display 10 numbers. *\/ for( i = 0; i < 1...