
private static uint GetUint() { m_z = 36969 * (m_z & 65535) + (m_z >> 16); m_w = 18000 * (m_w & 65535) + (m_w >> 16); return (m_z << 16) + m_w; }public static double GetUniform() { // 0 <= u < 2^32 uint u = GetUint(); // The magic number below is 1/(2^32 + 2). // The result is strictly between 0 and 1. return (u + 1.0) * 2.328306435454494e-10; }解决方法 这似乎是在C#中实现的双重LCG(我说C#而不是Java,因为IIRC Java没有uint).您可以找到有关LCG on Wikipedia的更多信息. 尽管如此,BASIC的大多数方言都内置了一些随机数发生器,通常使用指令RANDOMIZE进行初始化,使用RAND或RANDOM来获得随机数.
总结以上是内存溢出为你收集整理的c# – 未知语言随机码生成器全部内容,希望文章能够帮你解决c# – 未知语言随机码生成器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)