當前位置:首頁 » 操作系統 » linux隨機數

linux隨機數

發布時間: 2024-07-05 22:10:52

1. linux下的random()和srand(arg), rand()這兩個生成的隨機數有什麼區別。

首先我把這三個函數原型給你看一下
long random(void);
int rand(void);
void srand(unsigned seed);
random返回的是一個0到(2^31 - 1)的long類型整數
rand返回的是一個0到RAND_MAX的int類型整數

而你這里產生的隨機數序列是一樣的,這個很好解釋,因為你知道srand,但是你卻不知道還有一個srandom,這個函數是為random設置種子的,參數和srand一樣。
我的幫助手冊上甚至是這么寫的:
The random() and srandom() functions have (almost) the same calling sequence
and initialization properties as the rand(3) and srand(3) functions. The
difference is that rand(3) proces a much less random sequence -- in fact,
the low dozen bits generated by rand go through a cyclic pattern. All of
the bits generated by random() are usable. For example, `random()&01' will
proce a random binary value.

=============================
希望我的回答能給你帶來幫助

2. linux中,C語言for語句中的隨機數種子。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int i,j;
srand(time(0));
for( i = 0;i < 1000;i++)
for(j = 0;i < 100;i++){
printf("%3d",rand()%100+1);
printf("\n");
}
return 0;
}

3. 如何在linux中用命令產生一個范圍內的隨機數

在shell中有一個環境變數RANDOM,它的范圍是0--32767
如果我們想要產生0-25范圍內的數,如下:
$RANDOM%26
用這個環境變數對26取模,就可以得到最小是0,最大是25的數了。
如果想得到1--68范圍內的數,可以這樣
$RANDOM%68+1,
前面可以得到最小為0,最大為67的隨機數,再加上1,很自然的就可以得到最大為1,最小為68的數了。
如果想得到6--87范圍內的數。可以這樣
$RANDOM%82+6,
前面可以得到最小為0,最大為81的隨機數,再加上6,很自然的就可以得到最大為87,最小為6的數了。

熱點內容
sql獲取日期部分 發布:2024-11-26 05:25:06 瀏覽:742
怎麼才能把安卓數據轉移到蘋果手機上 發布:2024-11-26 05:14:35 瀏覽:850
手機對比參數配置常看的有哪些 發布:2024-11-26 05:01:23 瀏覽:890
qq默認存儲路徑修改 發布:2024-11-26 04:55:02 瀏覽:709
為什麼吉利配置那麼高 發布:2024-11-26 04:49:20 瀏覽:430
源碼平台排名 發布:2024-11-26 04:44:49 瀏覽:998
電腦網路連接密碼如何更改 發布:2024-11-26 04:39:20 瀏覽:203
安卓手機如何設置airpro自動彈窗 發布:2024-11-26 04:39:17 瀏覽:585
華為Ul編程 發布:2024-11-26 04:27:15 瀏覽:148
oppor9s軟體加密 發布:2024-11-26 04:27:13 瀏覽:679