當前位置:編程學習大全網 - 編程軟體 - c語言中如何生成1個0到1的隨機數

c語言中如何生成1個0到1的隨機數

C語言中生成1個0到1的隨機數可以執行語句:float b=rand()/(RAND_MAX+1.0);

解析:

標準C庫中函數rand()可以生成0~RAND_MAX之間的壹個隨機數,其中RAND_MAX 是stdlib.h 中定義的壹個整數,它與系統有關。rand()函數沒有輸入參數,直接通過表達式rand()來引用;

用函數rand取得的隨機數除以(RAND_MAX+1.0),即可確保得到的結果在0到1之間。ISO IEC 9899 2011 (C11)標準中未規定 RAND_MAX 的具體數值。但該標準規定了RAND_MAX 的值應至少為32767。編程的時候,不應該對 RAND_MAX 的具體數值做任何假設。

擴展資料:

相關說明:

1、因為rand()函數是按指定的順序來產生整數,因此每次執行上面的語句都打印相同的兩個值,所以說C語言的隨機並不是真正意義上的隨機。

2、為了使程序在每次執行時都能生成壹個新序列的隨機值,我們通常通過為隨機數生成器提供壹粒新的隨機種子。函數 srand()(來自stdlib.h)可以為隨機數生成器播散種子。只要種子不同rand()函數就會產生不同的隨機數序列。srand()稱為隨機數生成器的初始化器。

3、隨機種子(Random Seed)是計算機專業術語,壹種以隨機數作為對象的以真隨機數(種子)為初始條件的隨機數。壹般計算機的隨機數都是偽隨機數,以壹個真隨機數(種子)作為初始條件,然後用壹定的算法不停叠代產生隨機數。

百度百科-隨機函數

百度百科-RAND_MAX

  • 上一篇:長沙三人行美術培訓學校到西站怎麽走
  • 下一篇:涿州匯成創享城營銷中心電話是多少?
  • copyright 2024編程學習大全網