c_cpp 线性反馈移位寄存器基于均匀随机数发生器......它产生2 ** 32 -1个随机数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 线性反馈移位寄存器基于均匀随机数发生器......它产生2 ** 32 -1个随机数相关的知识,希望对你有一定的参考价值。

#include<iostream>
using namespace std;

int rand_gen(unsigned int x) {

   /*
       XOR Linear feedback shift register based random gen
   */

    unsigned int a=1;
    unsigned int c=0,d=0,e=0;

    c = x&a;
    d = (x>>1) & a;
    x >>= 1;

    x |= ((c^d)<<31);

    return x;

}

int main() {
    unsigned int x=1;

    int i;

    for (i=0;i<135;i++)
    {   
        x = rand_gen(x);
        cout<<"random="<<x<<endl;

    }
    return(0);
}

以上是关于c_cpp 线性反馈移位寄存器基于均匀随机数发生器......它产生2 ** 32 -1个随机数的主要内容,如果未能解决你的问题,请参考以下文章

FPGA学习之线性反馈移位寄存器(LFSR)

FPGA学习之线性反馈移位寄存器(LFSR)

FPGA学习之线性反馈移位寄存器(LFSR)

java 伽罗瓦线性反馈移位寄存器(LFSR)

什么是PRBS

C语言实验二——位运算