![]() |
1
18
第一:如果这个数字保证永远不会重复,它就不是很随机的。 第二:有很多 PRNG algorithms . 更新: 第三:有一个 IETF RFC for UUIDs (微软称之为guid),但你应该认识到(u_g)uids是 不 密码安全,如果你担心的话。 更新2: 如果您想在生产代码中实际使用类似的东西(不仅仅是为了您自己的启发) 拜托 使用预先存在的库。这类代码几乎可以保证,如果您以前从未做过(或者即使您做过),其中会有一些细微的错误。 更新3: |
![]() |
2
3
有很多方法可以生成随机数。这通常是通过一个系统/库调用来完成的,该调用使用一个带有种子的伪数字生成器,正如您已经描述的那样。 但是,还有其他方法可以获得随机数,这些方法需要专门的硬件来获得真正的随机数。我知道一些 poker sites 使用这种硬件。读他们是怎么做的很有趣。 |
![]() |
3
0
大多数随机数生成器都有一种“随机”重新初始化种子值的方法。(有时称为随机化)。 如果不可能,您也可以使用系统时钟初始化种子。 |
![]() |
4
0
您可以使用此代码示例: http://xkcd.com/221/ 或者,您可以使用本书: http://www.amazon.com/Million-Random-Digits-Normal-Deviates/dp/0833030477 但是说真的,不要自己实现它,使用现有的库。你不能是第一个这样做的人。 |
![]() |
5
0
特别是关于Java:
|
![]() |
6
0
我知道你在寻找一种使用c生成随机数的方法。如果是的话, RNGCryptoServiceProvider 就是你要找的。 [编辑] 如果使用RNGCryptoServiceProvider生成相当长的字节数,那么它可能是唯一的,但没有担保。理论上,真正的随机数并不意味着是唯一的。你掷两次骰子,两次都能得到头像,但还是随机的。真随机! 我想,要应用唯一性检查,您只需推出自己的机制来保存以前生成的数字的历史记录。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 5 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 6 月前 |