不同计算机上的不同随机数序列

 打完BOSS好睡觉1998 发布于 2023-02-13 14:35
  • php
  • 1 个回答
    • 是的,使用相同的种子,你应该得到相同的数字序列.该算法在文档中指定:

      该类的实例用于生成伪随机数流.该类使用48位种子,使用线性同余公式进行修改.(参见Donald Knuth,计算机程序设计的艺术,第2卷,第3.2.1节.)

      如果Random使用相同的种子创建了两个实例,并且为每个实例创建了相同的方法调用序列,则它们将生成并返回相同的数字序列.为了保证此属性,为类指定了特定的算法Random.为了Java代码的绝对可移植性,Java实现必须使用此处显示的所有算法用于Random类.但是,Random类的子类允许使用其他算法,只要它们遵守所有方法的一般合同即可.

      我唯一担心的是,如果你使用的nextDouble()话可能会遇到一些浮点单位差异的文物.我怀疑你不会,但这将是我的担忧.nextInt无论如何我建议您使用:

      val = generator.nextInt(nchrom); // Exclusive upper bound
      

      2023-02-13 14:37 回答
    撰写答案
    今天,你开发时遇到什么问题呢?
    立即提问
    热门标签
    PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
    Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有