打印
[技术问答]

单片机C语言如何产生随机数

[复制链接]
楼主: sesefadou
手机看帖
扫描二维码
随时随地手机跟帖
21
qiufengsd| | 2025-3-20 09:53 | 只看该作者 回帖奖励 |倒序浏览
伪随机数生成器具有周期性,即它们最终会重复之前的随机数序列。

使用特权

评论回复
22
bartonalfred| | 2025-3-20 10:38 | 只看该作者
更为复杂的伪随机数生成器,具有较长的周期和较好的统计特性。

使用特权

评论回复
23
deliahouse887| | 2025-3-20 14:01 | 只看该作者
可以通过模拟数字转换器(ADC)读取外部模拟信号的微小波动来获取随机数。

使用特权

评论回复
24
modesty3jonah| | 2025-3-20 14:37 | 只看该作者
#include <stdio.h>

#define MAX_RAND 32767
#define A 16807
#define C 0
#define M 2147483647

int rand() {
    static int seed = 1; // 初始种子
    seed = (A * seed + C) % M;
    return seed;
}

int main() {
    int random_number = rand() % MAX_RAND; // 生成0到MAX_RAND之间的随机数
    printf("Random number: %d\n", random_number);
    return 0;
}

使用特权

评论回复
25
bartonalfred| | 2025-3-20 15:27 | 只看该作者
结合ADC噪声和线性同余法生成更复杂的随机数。

使用特权

评论回复
26
lihuami| | 2025-3-20 16:51 | 只看该作者
利用单片机内部的硬件特性,如时钟的轻微偏差、内存的初始化状态等,作为随机数的来源。

使用特权

评论回复
27
星辰伴梦| | 2025-3-21 22:39 | 只看该作者
srand()函数是用来设置随机数种子的

使用特权

评论回复
28
旧时光放映机| | 2025-3-21 23:23 | 只看该作者
利用单片机定时器取值来产生随机数,这种方法对定时器的精度有没有什么要求呢

使用特权

评论回复
29
Pretext| | 2025-4-18 14:58 | 只看该作者
伪随机数就是看起来随机,但实际上有规律可循的数。单片机软件生成这些数,可以用于模拟随机事件,但不可用于加密或安全应用。

使用特权

评论回复
30
nowboy| | 2025-4-19 23:18 | 只看该作者
伪随机数虽然像真随机数,但统计特性不如真随机。

使用特权

评论回复
31
hmcu666| | 2025-4-21 22:04 | 只看该作者
为了获取真正的随机数,通常会使用专门的随机数发生器芯片。

使用特权

评论回复
32
魔法森林精灵| | 2025-4-23 10:24 | 只看该作者
确实,使用单片机的定时器值作为随机数种子是一种简单有效的方法,但正如你所说,它并不是真正意义上的随机。

使用特权

评论回复
33
时光贩卖机| | 2025-4-23 21:11 | 只看该作者
定时器取值的方法确实简单,但可能不够随机。用rand()函数结合srand()设置种子可以提供更好的随机性。

使用特权

评论回复
34
治愈糖果屋| | 2025-4-24 22:03 | 只看该作者
确实,使用定时器的值作为随机数种子是一种简单有效的方法,但正如你所说,它并不是真正意义上的随机。

使用特权

评论回复
35
懒癌晚期患者| | 2025-4-25 20:49 | 只看该作者
确实,利用定时器的未知值来生成随机数是一种简单直接的方法,但可能不够精确。使用rand()函数结合srand()设置种子可以提供更好的随机性。

使用特权

评论回复
36
zhuomuniao110| | 2025-4-26 20:34 | 只看该作者
纯粹的随机数太难了。

使用特权

评论回复
37
芯路例程| | 2025-4-28 23:18 | 只看该作者
系统计时器像钟表,记录时间,每次看都不一样,能帮我们生成像扔硬币那样的随机数。

使用特权

评论回复
38
lllook| | 2025-4-29 21:00 | 只看该作者
ADC读取模拟信号数据做为种子,可以用来产生随机数。

使用特权

评论回复
39
单片小菜| | 2025-4-30 12:18 | 只看该作者
这个随机数不错

使用特权

评论回复
40
V853| | 2025-5-3 19:17 | 只看该作者
将环境噪声输入单片机,作为随机数发生器种子,生成随机数。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则