真随机数生成原理

原理:

  • rand()函数利用操作系统的种子来生成伪随机数。
  • 如果系统的种子没有变化,每次调用rand函数 生成的伪随机数序列都是一样的。
  • 所以只要系统种子是真随机,那生成的随机数是真正意义上的“随机”
  • 作时间作为种子是真随机的种子值。
  • srand(unsigned seed)通过参数seed改变系统提供的种子值,在使用rand()函数之前,先利用srand函数改变系统种子值 。所以每次生成的随机数因为种子值改变------->生成的随机序列改变------->在随机序列中随机取一个值,这个结果就是真随机。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
    srand(time(0)); //如果去掉这一句就是伪随机
    int num=rand();
    printf("random number: %d\n", num);
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值