c语言指定随机数范围 单片机

之前是在liunx上C语言取随机数,使用时间做种子。
但是在简单的单片机上没有时钟,种子固定为65535。
然后取值范围为60到90之间。主要代码如下:

#include 

int r1;
srand(65535);
/* 取随机数取 60到90之间
   最大返回65536,除以90-60,小数进一2185.
   然后再加上60。精度不高。
*/
r1=((rand()/(65535/(90-60))) + 60);

代码方便看就好,程序中“(65535/(90-60))”即使每次调用,也不会每次处理都去运算。
按照编译原理,强大的C编译器会自动优化此部分。

发表评论

电子邮件地址不会被公开。 必填项已用*标注