新聞中心
linux環(huán)境下由C語言實現(xiàn)隨機數(shù)的生成,可以使用C/C++編寫的一個專門的隨機數(shù)函數(shù),它使得在程序中調(diào)用隨機數(shù)更加容易。本文介紹一種在Linux環(huán)境下實現(xiàn)隨機數(shù)生成的方法,讀者可以利用這個方法快速測試和實現(xiàn)自己的程序。

首先,使用Linux下C/C++語言中的rand函數(shù),其格式如下:
int rand(void);
rand()函數(shù)返回的是一個0到RAND_MAX(一個int數(shù)據(jù)類型的最大值)之間的偽隨機整數(shù)(注意取值范圍)。其中,RAND_MAX的默認(rèn)取值為:32767,這個值可以根據(jù)編譯器的不同而有所不同。
要得到一個范圍更大的隨機數(shù),可以使用以下代碼:
#include
#include
int main()
{
int i, num;
// 使用當(dāng)前時間,作為隨機種子
srand((unsigned)time(NULL));
/* 生成 5 個[0, 20]之間的隨機數(shù) */
for(i = 0; i
{
num = rand() % 20;
printf(“%d “, num);
}
return 0;
}
輸出的結(jié)果:
9 13 12 0 14
這種方法也可以用來生成double或者float類型的隨機數(shù),通過修改上面代碼中的取值范圍以及生成隨機數(shù)的方法,可以實現(xiàn)這一目的。具體代碼如下:
#include
#include
#include
int main()
{
double num;
// 使用當(dāng)前時間,作為隨機種子
srand((unsigned)time(NULL));
/* 生成 5 個[0, 99]之間的隨機數(shù) */
for(int i = 0; i
{
num = (double)rand() / (double)RAND_MAX * 99.0;
printf(“%f “, num);
}
return 0;
}
輸出結(jié)果:
11.709895 48.655593 11.890478 4.229529 4.866644
以上,為在Linux環(huán)境下實現(xiàn)隨機數(shù)生成的方法簡要介紹,也可以根據(jù)實際的需求,通過修改生成隨機數(shù)的函數(shù)及其取值范圍來實現(xiàn)。在實際開發(fā)中,使用這些函數(shù)可以更高效的實現(xiàn)代碼的功能,有利于我們的開發(fā)工作。
香港服務(wù)器選創(chuàng)新互聯(lián),香港虛擬主機被稱為香港虛擬空間/香港網(wǎng)站空間,或者簡稱香港主機/香港空間。香港虛擬主機特點是免備案空間開通就用, 創(chuàng)新互聯(lián)香港主機精選cn2+bgp線路訪問快、穩(wěn)定!
新聞標(biāo)題:LinuxC語言下實現(xiàn)隨機數(shù)的生成(linuxc生成隨機數(shù))
網(wǎng)址分享:http://m.5511xx.com/article/cdsgjjp.html


咨詢
建站咨詢
