我有一个基于硬件的布尔生成器,可以统一生成1或0。如何使用它制作统一的8位整数生成器?我目前正在使用收集的布尔值为8位整数创建二进制字符串。生成的整数不是均匀分布的。遵循this page中说明的分布。具有很多交替位的整数(例如85(01010101)和-86(10101010))具有最高的生成机会,而具有很多重复位的整数(例如0(00000000)和-1(11111111))具有最低的机会。那么正确的方法是什么?
您建议的方法是将布尔生成器的八位组合为一个统一的整数,从理论上讲是可行的。但是,实际上有几个问题:
有关更多信息,请参见“ Nondeterministic Sources and Seed Generation”。