Redis源码中有一个rand.c的源文件,很明显这是一个和(伪)随机数有关的文件。细看该文件代码只有寥寥50行,不过涉及到的算法原理却不简单,读起来虽然有些晦涩,但对于深入理解48位空间中的伪随机数算法是不可多得的范本。作者在该文件的注释中写道:这个伪随机数生成函数是从pysam源码中的drand48()派生过来的。关于pysam是什么项目,并不是重点,其实很多Unix系统中都存在drand48这个函数(SVr4,POSIX.1-2001),我们可在终端中man一下drand48。
可以看...
分类:
编程语言 时间:
2015-04-05 16:05:17
阅读次数:
342
随机数生成器计算机使用的随机数生成器往往是伪随机的,为了达到统计意义上的真随机数,可以需要引入系统
外的变量等作为随机种子(如UNIX系统中熵池)。假设有一天出现了上帝的投硬币函数: int G();
由于这里用到的上帝硬币可能不均匀。但可以保证是G()可以x概率返回1,1-x的概率返回0,其中x为未知常数(且x不等于0或1)。请实现目标函数: int F(double p);
要求
F函数以...
分类:
其他好文 时间:
2015-04-02 22:36:30
阅读次数:
209
Math.random() — 返回0和1之间的伪随机数 可能为0,但总是小于1,[0,1)。Math.random()*10//返回 0-10 之间的随机数。Math.random()*(20-10)+10 //返回10-20之间的随机数。Math.random()*(n-m)+m //返回(m-...
分类:
编程语言 时间:
2015-04-02 06:37:21
阅读次数:
128
本文主要参考自一博文及cplusplus和cppreferrence。其中,该博文是对cplusplus上该伪随机数条目的翻译,下文中会参考调整。 1. C语言中的伪随机数产生函数 2. C++语言中的伪随机数产生器 C++中伪随机数库Random是C++11才开始添加的。它允许我们结合生...
分类:
编程语言 时间:
2015-03-21 13:54:54
阅读次数:
251
1 Monkey工具使用 2 3 一、 什么是Monkey 4 5 Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现对正在开发的应用程序进行压力测试。Monkey测试是一种为了...
分类:
其他好文 时间:
2015-03-20 17:49:58
阅读次数:
175
今天上课听老师讲了随机数,真随机数无法通过程序生成,一般代码中用到的随机数都是伪随机的。然后提到了通过π(圆周率)的小数位和拼接素数来产生随机数的方法,闲来无聊,故此来统计下这两种情况下各个数的概率。~~ (可能没有什么实际意义,就当写得玩玩。:>)π小数位的方法 以下是从网上摘取的π小数点...
分类:
其他好文 时间:
2015-03-18 21:43:12
阅读次数:
868
Random()函数生成随机数
java.util.Random
在Java的API帮助文档中,总结了一下对这个Random()函数功能的描述:
1、java.util.Random类中实现的随机算法是伪随机,也就是有规则的随机,所谓有规则的就是在给定种(seed)的区间内随机生成数字;
2、相同种子数的Random对象,相同次数生成的随机数字是完全相同的;
3、Random类中各方法生...
分类:
编程语言 时间:
2015-03-18 18:11:09
阅读次数:
153
RC4是Ron Rivest在1987年设计的密钥长度可变的流加密算法。它加解密使用相同的密钥,因此也属于对称加密算法。RC4是有线等效加密(WEP)中采用的加密算法,也曾经是TLS可采用的算法之一。由于RC4算法存在弱点,RFC 7465规定禁止在TLS中使用RC4加密算法[1]。 RC4由伪随机...
分类:
编程语言 时间:
2015-03-18 15:51:21
阅读次数:
354
标准库(被包含于中)提供两个帮助生成伪随机数的函数:函数一:int rand(void);从srand (seed)中指定的seed开始,返回一个[seed, RAND_MAX(0x7fff))间的随机整数。函数二:void srand(unsigned seed);参数seed是rand()的种子...
分类:
其他好文 时间:
2015-03-17 00:40:32
阅读次数:
206
说明//在这里srand的作用很重要,srand()的作用是初始化随机数种子,种子的伪随机数计算的依据,
//种子相同,计算得到的随机数也是相同的,通常函数没有用到srand()而是用rand(),则是相当于调用了srand(1),
//这也解决了我上学期做最后那个记忆游戏时,每次重新运行程序时,产生的随机数都是相同的问题
//time(NULL)返回的值是自1970.1.1零点以来经过的秒数...
分类:
编程语言 时间:
2015-03-16 21:19:59
阅读次数:
192