randbit=rand()%2;
但我觉得应该有一个更快的方法,从每次调用随机数生成器生成几个随机位.理想情况下,我想获得一个int或char,其中每个位是随机且独立的,但其他解决方案也是可能的.
该应用程序本质上不是加密的,因此强随机性不是主要因素,而速度和获得正确的分布是重要的.
解决方法 将随机数转换为二进制数为什么不只得到一个数字(适当大小以获得你需要的足够数量)然后将其转换为二进制数.实际上,您将从随机数中获取位,这意味着它们也是随机的.
零和1也具有50%的概率,因为将0和2 ^ n之间的所有数字限制并且计数零和1的数量相等>意味着零和一的概率是相同的.
关于速度这可能会非常快,因为只需一个随机数与其中的位数相比就更快了.它现在完全取决于你的二进制转换.
总结以上是内存溢出为你收集整理的c – 生成随机位的最快方法全部内容,希望文章能够帮你解决c – 生成随机位的最快方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)