linux中使用随机数
(1)单纯使用rand重复调用n次,就会得到一个0-RAND_MAX之间的伪随机数,如果需要调整范围,可以得到随机数序列后再进行计算。
(2)单纯使用rand来得到伪随机数序列有缺陷,每次执行程序得到的伪随机序列是同一个序列,没法得到其他序列
(3)原因是因为rand内部的算法其实是通过一个种子(seed,其实就是一个原始参数,int类型),rand内部默认是使用1作为seed的,种子一定的算法也是一定的,那么每次得到的伪随机序列肯定是同一个。
(4)所以要想每次执行这个程序获取的伪随机序列不同,则每次都要给不同的种子。用srand函数来设置种子。
#include <stdio.h> #include <stdlib.h> #include <time.h> #include <sys/time.h> int main(int argc ,char ** argv) {struct timeval tv={0};struct timezone tz ={0};/* if(argc!=2){printf("usage:%s num\n",argv[0]);return -1;} *///srand(atoi(argv[1]));gettimeofday(&tv,&tz);//获取微妙数 srand(tv.tv_usec);printf("rand max%d\n",RAND_MAX);for ( int i =0 ; i<6 ; i++){printf(" %d ",rand()%20); }printf("\n"); return 0; }
转载于:https://www.cnblogs.com/PengfeiSong/p/6562309.html
linux中使用随机数相关推荐
- 获取系统信息2——linux中使用随机数
以下内容源于朱有鹏<物联网大讲堂>课程的学习整理,如有侵权,请告知删除. 1.随机数和伪随机数 随机数是随机出现,没有任何规律的一组数列. 真正的完全随机的数列是不存在的,只是一种理想情况 ...
- linux中产生随机数函数,如何用C++产生随机数
C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数. (1) 如果你只要产生随机数而不需要设定范围的 ...
- linux上无法发送163邮件,如何在linux中发送邮件,使用163邮箱发信。
linux中,可以使用mail命令往外发送邮件,在使用前,只需要指定如下简单配置即可,这里演示用 163.com 邮箱发送至 qq.com 编辑 /etc/mail.rc,写入下方的参数 se ...
- Linux中使用shell脚本生成随机数
Linux中使用shell脚本生成随机数 1.主体思想: 为了实现随机数的随机性,所以在这里借用date中的%s%N可以输出从1970年1月1日00:00:00到目前经历的秒数,从而产生变化的数字,再 ...
- Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom
Java中的随机数生成器:Random,ThreadLocalRandom,SecureRandom 文中的 Random即:java.util.Random, ThreadLocalRandom 即 ...
- Linux 文件安全之随机数生成器
Linux 文件安全之随机数生成器 笔者:李晓辉 数据安全这一话题,在如今这个时代,哪里都在喊,但是我们每天都能看到由于数据安全不到位,造成多少多少损失,说实话,谁也不能保证数据的绝对安全,只有相对的 ...
- linux shell实现随机数多种方法(date,random,uuid)
在日常生活中,随机数实际上经常遇到,想丢骰子,抓阄,还有抽签.呵呵,非常简单就可以实现.那么在做程序设计,真的要通过自己程序设计出随机数那还真的不简单了.现在很多都是操作系统内核会提供相应的api,这 ...
- java随机10位随机数 random.uuid_一文详解编程中的随机数
随机数,相信大家都不陌生,网上有很多生成随机数的小工具.直观来看,随机数就是一串杂乱无章的数字.字母.以及符号的组合, 比如pSTkKIiZMOlDxOgwpIQGdlZwrJCRiHRK.但随机数真 ...
- linux 查看 man 路径配置文件 man.config,linux中的man(zz)
Linux中 man命令是初学者必须要掌握的一个Linux重要命令,这个命令可以帮助在学习中遇到的各种不会使用的命令问题,每个命令的不同的使用方法都可以在这里查找的到,获得相关的帮助信息. (1)ma ...
最新文章
- Java多线程之阻塞I/O如何中断
- n1Linux分辨率,看看诺基亚曾经的六款平板电脑 N1不是第一
- android 下的网络图片加载
- javascript继承一览
- 明年起网剧可参评白玉兰奖 你期待哪部网剧上榜?
- 从大到小输出a、b、c(选择结构)
- Linux基本操作(6)——Linux 重写rm 命令 实现回收站功能
- Idea:新版本Idea底部工具栏Git中没有Local Changes
- Windows2012 系统从MBR转GPT免重装的经验
- Oracle Class6-1. PL/SQL 简介(数据类型,逻辑比较,控制结构,错误处理)
- 一周上手flutter
- Step1我学习ros2的一些经历(从ubuntu安装到ros2中的位姿转换)
- EPICS -- pyDevice
- 苹果cmsV10仿优酷模板,最新自适应苹果cms模板
- js中无区别分割中英文逗号的字符串成为数组
- 野指针,数组指针,指针数组
- VUE3中实现浏览器全屏功能
- 雷军狂送20亿给员工:网络工程师怎样才能最快体验到大厂待遇?
- 红酒、白酒数据集分析——案例(1)
- VassistX自定义快捷代码
热门文章
- C#通过VS连接MySQL数据库实现增删改查基本操作
- 第一章 基础知识---1.4Crack小实验--复现
- C++ 拷贝构造函数与赋值构造函数调用时机初步01
- Linux系统【一】CPU+MMU+fork函数创建进程
- linux交叉编译时报错:file not recognized: File format not recognized
- 【汇编语言】王爽第六章程序6.3解答,8086汇编语言实现数据的倒序存放
- 07-图4 哈利·波特的考试 (25 分)
- MySQL+Tomcat+JVM,看完还怕面试官
- CSS的三种基础选择器,面试必问
- jsp+js实现二级级联