|
|
1
6
假设您知道如何生成n个随机位。这两种方法都很容易做到
要在正确的范围内生成long/ulong,请计算范围有多大,以及表示该范围需要多少位。然后可以使用拒绝抽样,这将 在最坏的时候 拒绝生成的值的一半(例如,如果您想要一个在[0,128]范围内的值,这意味着您将多次生成[0,255]。如果您想要一个非零的范围,只需计算出范围的大小,在[0,size]中生成一个随机值,然后添加基数。 生成一个随机的小数是非常困难的,我相信-除了其他的,你必须指定你想要的分布。 |
|
|
2
9
应该这样做。对于decimal,我使用jon skeet的初始方法生成随机的
注意这是为了
为了
|
|
|
3
0
我来这里寻找一种在任意范围内生成64位值的方法。其他答案在给定范围(例如long.minvalue到long.maxvalue)时无法生成随机数。这是我的版本,似乎可以解决问题:
它使用以下扩展方法:
即使请求范围的大小不是2^64的干净除数,分布也不完美,但它至少为任何给定范围提供了请求范围内的随机数。 |
|
|
4
0
根据乔恩·斯基特的方法,我想说的是:
如果发现任何错误,请通知我。 |
|
|
5
-2
|