微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 未知语言随机码生成器

我试图理解这段代码,我不确定它是什么语言.它似乎是 Java但我不确定.如果我发布错误,我会道歉.我正在做志愿者并帮助完成日历,并试图找到一个随机生成器来处理基本的.我立即试图了解这是做什么的.

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来获得随机数.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐