rand產生的隨機數是什麼型別,rand隨機函式產生的值的範圍

2021-03-04 05:20:18 字數 2825 閱讀 4773

1樓:匿名使用者

函式原型:int rand(void);

所以返回值為int型

返回的隨機數範圍是0~rand_max

2樓:宛丘山人

數值型別,歲語言不同而不同,又多是整形,有的是實型

3樓:

int型別 c語言中的一種下整數型別

4樓:匿名使用者

int or unsigned int

rand()隨機函式產生的值的範圍?

5樓:匿名使用者

cplusplus中有這樣的介紹:

rand函式產生一個0到rand_max的偽隨機數,這裡的rand_max因不同的實現而異,但rand_max至少為32767。(比如,msvc中通常為0x7fff,即32767,而linux平臺下gcc中rand_max通常會遠遠大於這個值)

有一些其他程式語言的rand函式確實是產生一個[0.0, 1.0)之間的浮點數。比如matlab。

在c中,

rand() % 32會產生一個[0, 32)之間的偽隨機數,那麼rand() % 32 + 1的取值區間實際上是[1, 33)。

要產生[0, 32)(開區間)之間偽隨機數:

rand() % 32即可;

要產生[0, 32](閉區間)之間偽隨機數:

rand() % 33即可。

6樓:好嘞啊啊啊啊

看返回值的型別

unsigned int

雙位元組是65535,

四位元組是4294967295的整數範圍。

rand()函式是一個有返回值的函式

rand()%32 是0-31

如果加一的話

就是1-32

7樓:

0~32767。

產生0-32之間的某個隨機數的**是rand()%33,不是rand()%32+1。rand()%32+1產生1~32之間的隨機數!

8樓:匿名使用者

看函式原型: int rand(void),可見其返回的是一個32位的數,準確的來說是無符號的

範圍為 0~4g-1。要想取得某一範圍的值用取餘的方式再加一個基值即可。

9樓:匿名使用者

mayadong7349說的是正解,我就是來支援正解的不要採納我

10樓:

產生0-32之間的隨機數是有這些方法:

rand()%32+0

rand()%(32-0+1)+0

rand()%33

11樓:

win下是16位,linux下是32位。

具體說就是0~2^15-1,0~2^31-1。

12樓:匿名使用者

srand((int)time(0));

1 + 100*rand() % 32

rand()函式產生的隨機數為什麼是偽隨機數

13樓:匿名使用者

計算機的執行過程是一個

確定的過程,每一條指令都是確定,因此從根本上來講,計算機產生不了真正意義上的隨機數。

那麼偽隨機數怎麼理解呢?舉個最簡單的例子,要隨機產生0~9十個數,那麼計算機可以迴圈快速的給出0、1、2、3、4、5、6、7、8、9、0、1......這樣的一個數列,這個數列並不是隨機的,而是有規律的(所以才叫做偽隨機),當我們按下按鈕,或者點下滑鼠的瞬間,機器停止,並顯示最後的一個數字(有點類似於玩***),這個過程我們挑選出來的數字好像是隨機的,但其實並不是100%隨機,只有我們去觸發機器的那個時間點是隨機的,其他都是有規律的,所以就是偽隨機。

rand()函式就是給出一列數值(這列數值是被事先打亂,但是是固定的數值),所以屬於偽隨機數。只是機器執行到rand()函式的時間點是隨機的,才讓我們感覺執行結果是隨機的一樣。

c++問題 rand() 預設產生的隨機數範圍

14樓:匿名使用者

隨機數bai產生的範圍是:0-0x7fff(也就du是0到32767)

#include

#include

#include

#include

using namespace std;

void main()

{ srand( (unsigned)time( null ) ); //時間參zhi數作為種子

for(int i=0;i<32767;i++){ cout<

時間引數種dao子唯一,版然後取的數目不大於權32767個,基本能夠保證產生的隨機數唯一

15樓:匿名使用者

rand()函式可以用來產生隨機數;

rand()會返回一隨機數值,範圍在0至版rand_max 間。返回0至rand_max之間的權隨機數值,rand_max定義在stdlib.h,(其值至少為32767),運算的結果是一個不定的數,要看你定義的變數型別,int整形的話就是32767。

在呼叫此函式產生隨機數前,必須先利用srand()設好隨機數種子,如果未設隨機數種子,rand()在呼叫時會自動設隨機數種子為1。一般用for語句來設定種子的個數。

16樓:二十年

0到rand_max,rand_max的值視編譯bai器而定du一般不小於32767,你可以zhi測試dao一下。可以用當前時間做專隨機數的種子保證產生的值不屬同。在程式開始之前呼叫srand((unsigned)time(null));就行了。

rand產生的是偽隨機數,什麼叫偽隨機數 還有rand和sr

stdlib.h標頭檔案中有巨集 define rand max 0x7fff rand 產生一個0到0x7ffff即0到32767之間的隨機數 rand rand max 1.0 就等於一個0到1之間的小數了,因為rand 最大是32767最小是0,再除以32768就是一個0到1之間的小數 不能等...

隨機數是什麼,什麼是隨機數?

隨機數是專門的隨機試驗的結果。產生隨機數有多種不同的方法。這些方法被稱為隨機數發生器。隨機數最重要的特性是 它所產生的後面的那個數與前面的那個數毫無關係。就是隨意的一個數,還有就是範圍,比如1到9之間的隨機數,3就是這個範圍的隨機數,123456789隨機抽取一個,這就叫隨機數 例 一臺電腦,正在0...

隨機數生成的原理和方法,電腦取隨機數是什麼原理,是真正的隨機數嗎

原理太高深,提供方法是 可以的1 在c 中可以的,函式是這樣用,比如0至1的隨機數random ran new random int randkey ran.next 0,1 不過這樣會有重複,可以給random一個系統時間做為引數,以此產生隨機數,就不會重複了 system.random a ne...