簡體   English   中英

如何獲得具有最小值的隨機數

[英]How to get a random number with a minimum value

我正在嘗試獲得一個大於最小值的隨機數。 有沒有辦法做到這一點?

設置rand(min..max)會給出一個范圍為( min < number < max )的隨機數,但是我不想指定最大值。

只是指定一個大的最大值? RNG趨向於最小和最大,因為最終它們綁定到本身具有范圍的數據類型。

計算中沒有無限的東西(除非您自己實現BigNum類,在這種情況下,您仍然會受到所擁有的內存量的限制)。 在這種情況下,我懷疑您需要生成一個“足夠大”的隨機數。 嘗試rand(min..(2**32-1))

如果您只想生成一個較高的隨機最大值,則可以調用:

Random.new_seed

您還可以將其存儲為常量,並在rand調用中使用它:

MAX_RANDOM = Random.new_seed

然后做:

rand(min..MAX_RANDOM)

但是,如果要執行此操作,則最好自己定義常量:

MAX_RANDOM = 9999999999999

隨機整數必須具有最大值,因為正如@WimHollebrandse所說,整數范圍綁定到本身具有最大范圍的整數數據類型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM