我只是,想知道如果rand
(http://www.cplusplus.com/reference/cstdlib/rand/)函數將生成隨機數的相同的序列,而使用相同的種子當不同libc
實現,甚至不同的編譯器和操作系統(贏,linux下運行)。對於相同的種子,由rand生成的隨機數序列在C中保證總是相同的?
我沒有使用各種編譯器的一些測試(G ++ 4.8,G ++ 5.1和鐺),它似乎,答案是肯定的,但是我沒有發現使用任何「官方」的PRNG算法的提在C的隨機數生成(http://pubs.opengroup.org/onlinepubs/009604599/functions/rand.html),還是這些都應該在標準中提到的...
從你發佈的鏈接(posix):'如果srand()然後被調用相同的種子值,則應該重複僞隨機數的序列。 C11,§7.22.2.2具有相同的措詞。 –
@ P.P。是的,對於我來說,使用不同的編譯器,序列在不同的計算機上是否也是相同的。 – fritzone
我懷疑你已經比較了同一個生成器的三個實現,其中兩個(g ++的)是相同的。 – molbdnilo