`
zhangyu84849467
  • 浏览: 15413 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Xorshift RNGs生成随机数

 
阅读更多
private transient int randomSeed;

randomSeed = seedGenerator.nextInt() | 0x0100;

private int randomLevel() {
        int x = randomSeed;
        x ^= x << 13;
        x ^= x >>> 17;
        randomSeed = x ^= x << 5;
        if ((x & 0x80000001) != 0) // test highest and lowest bits
            return 0;
        int level = 1;
        while (((x >>>= 1) & 1) != 0) ++level;
        return level;
    }

 通过异或和位移 , 每次生成不同的32位, 周期为2的32次方减1

 

来自JDK ConcurrentSkipListMap

分享到:
评论

相关推荐

    Xorshift RNGs - George Marsaglia (2003)-计算机科学

    Xorshift RNGsGeorge Marsaglia∗The Florida State UniversityAbstractDescription of a class of simple, extremely fast random number generators (RNGs) with periods 2k −1 for k = 32, 64, 96, 128, 160, ...

    生成随机数_神经网络应用实例.zip

    本教程将深入探讨生成随机数这一主题,并通过一个神经网络应用实例来展示其实际用途。 随机数生成的基本概念: 1. 随机性:在编程中,我们常说的“随机”实际上是指可预测的伪随机性。这些数字看似无规律,但其实是...

    C++生成随机数

    在C++编程语言中,生成随机数是一项基本且常见的任务,尤其在模拟、游戏开发、数据分析等领域中。本文将深入探讨如何在C++中生成随机数,并基于提供的压缩包文件"**helloworld.cpp**"和"**helloworld.exe**"进行讲解...

    suijishu.rar_提取 随机数

    在C++编程语言中,生成随机数通常涉及到`&lt;random&gt;`库。这个库提供了各种随机数生成器(RNGs),例如`std::default_random_engine`,`std::uniform_int_distribution`或`std::uniform_real_distribution`等。为了生成...

    sp800_90c_second_draft.pdf 随机数生成器标准 NIST

    NIST SP800-90C是美国国家标准与技术研究院(NIST)发布的关于随机数生成器(Random Number Generators, RNGs)的推荐标准草案。这一草案由Elaine Barker和John Kelsey编写,并发布于2016年4月。它是NIST SP 800-90...

    NIST随机数静态测试

    其中,NIST随机数生成器测试(NIST Statistical Test Suite,简称STS)是用于评估随机数生成器(RNGs)性能和安全性的重要工具。这个测试包,名为“sts-2.1.2”,很可能是NIST STS的一个版本,用于静态测试,即对已...

    十进制小数转二进制matlab代码-chaotic-rngs:基于混沌函数的随机数生成器

    基于混沌函数的随机数生成器。 启发当前代码的主要作品是: T. Stojanovski,L。Kocarev,“基于混沌的随机数生成器-第一部分:分析”,IEEE Trans。 在CAS上-第I部分,第48,第3号,第281-288页,2001年3月。 T. ...

    rngs:ECE 541 Project #2 @ UIUC 的一个项目。 研究随机数生成器

    该项目使用项目来测试用 C++ 实现的随机数生成器。 可以在proposal 、 report和presentation文件夹中找到更多信息。 可以在找到该存储库中论文的最终版本,该版本解释了该项目背后的大部分理论。 这个项目需要...

    bsi发布的ais 31 Functionality classes for random number generators

    BSI发布的《AIS 31 功能类别的随机数生成器》是一份关于随机数生成器(RNGs)的标准文档,其中详细阐述了不同类别随机数生成器的功能要求。该文档介绍了随机数在信息技术安全中的使用,重点讨论了随机数生成器的设计...

    NIST.SP.800-90Ar1.pdf

    TRNGs利用自然界的随机过程(如热噪声、放射性衰变等)来生成随机数,而PRNGs则利用数学算法基于某个随机种子来生成看似随机的序列。 确定性随机位生成器(DRBGs)是PRNGs的一种特殊类型,它允许在给定种子输入的...

    chaostic_rngs

    超混沌随机数生成 verilog

    nim-random:Nim的随机数生成库

    在Nim的生态系统中,有许多库可以帮助开发者实现特定功能,其中之一就是“nim-random”库,专门用于生成随机数。这个库为Nim程序员提供了各种随机数生成器,能够满足从基本的随机数需求到高级的统计模拟的各种场景。...

    Random_Fns.zip_random

    首先,`Random_Fns.h`是包含在这个压缩包中的唯一文件,这可能是一个头文件,其中定义了类、函数或模板,用于生成随机数。在C++中,自定义随机数生成器(RNGs)往往通过继承`std::random_device`,`std::mt19937`...

    DES_1e_SourceCode_Java.gz_DES_1e_SourceCode_Statistical Models_d

    具体来说,有数据文件用于模拟输入或输出,以及Java源代码用于生成随机数和处理模拟中的队列服务。深入研究这些源代码和数据,可以学习如何构建和分析离散事件模拟模型,以及如何利用统计方法来评估和优化这些模型。

    量子随机数发生器的后处理:熵评估和随机性提取

    在引言部分,文章提到了伪随机数生成器(伪RNGs),它们基于计算复杂性在过去的几十年中得到了充分的发展,能够以低成本生成高速随机数。但是,伪RNGs的一个主要缺点是其生成的随机性在信息论上无法证明。实际上,...

    NIST随机性测试

    NIST(美国国家标准与技术研究院)随机性测试是评估和验证随机数生成器(RNGs)是否具有真正随机性的标准方法。这些测试旨在确保生成的数字序列在统计上不可预测,这对于加密、安全通信、模拟、密码学和其他领域至关...

    Parallel generation of 10 Gbits/s physical random number streams using chaotic semiconductor lasers

    这篇论文的研究重点是随机数生成器(RNGs)在不同领域的应用,包括密码学系统密钥生成、游戏、金融和生物物理等。在随机数分类方面,一般存在两种类型:伪随机数(Pseudo-Random Number)和物理随机数(Physical ...

    bcprov-jdk15on-1.69.jar中文-英文对照文档.zip

    6. **随机数生成器(Random Number Generators, RNGs)**:对于安全的加密操作,安全的随机数生成至关重要。Bouncy Castle 提供了符合FIPS 140-2标准的RNGs。 7. **密钥管理**:库中包含了密钥生成、导入和导出的...

    DES_1e_SourceCode_Java.zip_DES_1e_SourceCode_Statistical Models_

    2. Rvms.java、Rngs.java:这两个文件可能是随机变量生成器和随机数生成器的Java源代码。在模拟中,随机数用于模拟不确定性,如用户到达时间、服务时间等。 3. Msq.java:这可能是主程序或模拟队列管理的Java源代码...

Global site tag (gtag.js) - Google Analytics