关于随机数生成

来源:互联网 发布:wind导出股票数据 编辑:程序博客网 时间:2024/06/08 14:20

涉及到Skip Lists的时候,基本上概率会选择1/2,那么需要多次生成0-1的随机数。
由于要多次生成随机数,而随机数的生成会极大的影响程序的运行效率。所以想到可不可以通过生成更大的随机数来降低效率。
比如两次需要0/1的随机数,可以通过一次0~3的随机数m来代替。M&1和m>>1&1 分别表示两个随机数。

如果我生成的随机数是0-32767,是不是相当于可以一次生成15个01的随机数。
但是因为生成的随机数本身就受到位数的限制所以如果生成的随机数范围越大就会越不准确。比如,如果我的p是0.1那我需要每次生成0-9的随机数,那么取越高位就越不准确,比如万位只会出现0123四个数字。

原创粉丝点击