伪随机性

计算机伪随机数函数

用来计算伪随机数的函数被称为随机函数，使用随机函数产生随机数的算法称为随机数生成器。一些随机函数是周期性的，虽然一般来说使用非周期性的函数要好得多，但周期性的随机函数往往快得多。有些周期函数的系数可以调整，之后它们的周期非常大，基本上与非周期的函数效果一样。

C语言

/* 使用 ANSI C 可移植算法*/static unsigned long int next = 1;    // 种子int rand(void)                        // 生成伪随机数{
    next = next * 1103515245 + 12345;
    return (unsigned int) (next / 65536) % 32768;}void srand(unsigned int seed)         // 修改种{
    next = seed;}
可见，伪随机数是由一套产生随机数的算法实现的。

使用

在计算机模拟中伪随机数用来模拟产生随机的过程，背景噪声产生器中也可应用伪随机数。由于伪随机数不是真的随机数，在有些方面它们不能被使用，例如在密码学中使用伪随机数要小心，因为其可计算性是一个可以攻击的地方。统计学、蒙特·卡罗方法上使用的伪随机数也必须挑选周期极长、随机性够高的随机函数，以确保计算结果有足够的随机性。
伪随机数的一个特别大的优点是它们的计算不需要外部的特殊硬件的支持，因此在计算器科学中伪随机数依然被使用。真正的随机数必须使用专门的设备，比如热噪信号、量子力学的效应、放射性元素的衰退辐射，或使用无法预测的现象，譬如用户按键盘的位置与速度、用户运动鼠标的路径坐标等来产生。对于移动式计算，采用加速度传感器协助随机数生成亦是一种普遍做法。