我正在做PIC芯片开发,想知道:如何在限定的范围内随机取数?
例如:在0~9中随机取1个值。
在《PIC单片机的HT-PICC语言编程指南》文档中找到以下两个函数,但具体不知道怎么编程,想大家给个程序参考下,或者说说解决方法。。。谢谢了!
rand()函数用来产生一个随机数数据。它返回一个0~32767 的整数,并且这个整
数在每次被调用后, 以随机数据形式出现。这一运算规则将产生一个从同一起点
开始的确定顺序。起点通过调用srand()函数获得。下面的例程说明了每次通过调
用time()函数获得不同的起点。
srand()函数是在调用rand()函数时被用来初始化随机数据发生器的。它为rand()函
数产生不同起点虚拟数据顺序提供一个机制。在z80 上,随机数据最好从新的寄
存器获得。否则,控制台的响应时间或系统时间将充当这一数据。
例 程
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main (void)
{
time_t toc;
int i;
time(&toc);
srand((int)toc);
for(i = 0 ; i != 10 ; i++)
printf("%d ", rand());
putchar(’
’);
}
注意:例程中需要用户自己提供time()函数,因为它不能由汇编器产生。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>