C语言的rand()函数位于<stdlib.h>。该函数可以生成一个取值为0~32767的伪随机数。先看一下函数的实现。

unsigned long int next = 1;int rand(void)
{next = next * 1103515245 + 12345;return ((unsigned int)(next/65536) % 32768);
}/* srand函数:为rand()函数设置种子数 */
void srand(unsigned int seed)
{next = seed;
}

在不了解原理的时候,觉得1103515245和12345取值无明显规律,以为写作这段代码的人只是随意写的。其实这段代码有线性同余方法的影子,但又不完全是线性同余方法,可以结合以下这个链接中的文章进行理解,了解该方法是如何保证产生均匀的随机数的。
线性同余方法介绍

C语言rand()函数解析相关推荐

  1. C语言(rand函数)

    C语言(rand函数) (2006-09-24 20:41:59) 转载     srand()就是给rand()提供种子seed 1,先看一个例子 #include <iostream> ...

  2. C语言rand()函数产生随机数详解

    C语言rand函数产生随机数详解 1.rand函数的原型,功能和界限 2.用rand函数获取随机数 3.随机数生成原理 1.rand函数的原型,功能和界限 rand函数的原型: #include &l ...

  3. c语言rand函数_C语言随机函数学不明白?一知识一案例,全面解析C语言随机函数

    前言 本文主要讲解C语言的随机函数,学习随机函数将由此拉开序幕,亲爱的准备好了没? 随机数 随机数主要是通过rand()函数产生的,rand() 函数可以随机产生一个正整数,它会产生一个无符号整数,范 ...

  4. C语言sprintf函数解析(实现数据类型转换到字符串)

    最近在将int转为char*字符串上出了问题,最后使用sprintf函数解决, 使用实例: char *char_num; int recv_num=-123456:sprintf(char_num, ...

  5. C语言 rand函数(随机)

    rand函数不是真正的随机数生成器,而srand()会设置供rand()使用的随机数种子.如果你在第一次调用rand()之前没有调用srand(),那么系统会为你自动调用srand().而使用同种子相 ...

  6. c语言rand函数的作用,详解C语言中rand函数的使用

    前言 我们在编程实现算法的过程中,往往需要使用到随机数.由于计算机是一台以逻辑为基础的机器,没法做到真正的随机(大概量子计算机可以?).所以计算机生成的是伪随机数,供我们使用. 我们使用C语言的ran ...

  7. C语言 rand函数,srand函数 生成随机数用法详解

    与随机数有关的两个函数,srand() 和 rand(),这两个函数都包含"stdlib.h"头文件里 srand()函数是随机数发生器,使得每轮产生的随机数列都不相同.      ...

  8. C语言rand()函数使用

    rand函数的使用: 1.生成一个0~1之间的小数 方法一:利用两个数相除 #include <stdio.h> #include <stdlib.h> #include &l ...

  9. c语言rand函数的使用范围,C random C ++rand函数应用

    random函数不是ANSI C标准,不能在gcc,vc等编译器下编译通过.但在C语言中int random(num)能够这样使用,它返回的是0至num-1的一个随机数. 可改用C++下的rand函数 ...

最新文章

  1. Dev控件使用 - 皮肤
  2. 栈子系统c语言,数据结构(栈子系统:c实现)
  3. 解决eclipse中Mybatis框架下sql语句执行后控制台不显示日志问题
  4. java 迷你桌面地图_求教贴,Java桌面小游戏的地图怎么做
  5. 苹果发布iOS/iPadOS15.1正式版 新增同播共享等功能
  6. Native层和so接口和Java层
  7. access根据所属院系修改学号_2012年计算机等考二级Access模拟试题四
  8. openmpi和blcr
  9. 2021年终总结,我躺平了?
  10. 前端实现导入(excel文件)导出(word)文件
  11. PyMol2.5的基础使用
  12. mysql keepalived配置文件详解_Keepalived配置文件详解
  13. 监控里的主码流和子码流是什么意思
  14. Python | 输入逗号分隔的元素,转换为列表并打印
  15. 关于设计的一点思考:
  16. html实现动态花瓣凋落
  17. 题目1(15分)对spark1.txt文件进行筛选,将A或者包含A的字母筛选出来并统计个数,然后输出到dome1文件中。
  18. db2 修改表空间自增长_db2 创建表空间、增大表空间以及增加临时表空间
  19. 华为运营商级路由器配置示例 | 配置OptionC方式跨域BGP AD VPLS示例
  20. win10下usb rndis驱动配置

热门文章

  1. python (argparse库)图片转字符画小工具
  2. js绑定事件和解除事件
  3. Netdata安装以及汉化
  4. 向量叉乘 (叉乘公式)
  5. c语言背包问题贪心算法,C/C++语言算法篇(一):贪心算法
  6. Manjaro 显卡驱动安装
  7. 推荐大家一个管理时间的软件
  8. 【hive 日期函数 大全】Hive常用日期函数整理 史上最全
  9. 大赛报名 | 第八届“梦想中国·智汇嘉善”创新创业大赛项目征集
  10. 孤立森林(Isolation Forest)从原理到实践