随机数程序生成
依据
头文件编写
#pragma once
#include<stdlib.h>
#define a 0x5DEECE66DLL
#define c 0xB16
#define m 0x100000000LL
static unsigned long long seed = 1;
double drand48(void) {
seed = (a*seed + c) & 0xFFFFFFFFFFFFLL;
unsigned int x = seed >> 16;
return ((double)x / (double)m);
}
void srand48(unsigned int i) {
seed = (((long long int)i) << 16) | rand();
}
源文件调用
#include <stdlib.h>
#include<stdio.h>
#include <iostream>
#include"random.h"
using namespace std;
int main() {
srand48(12);
int numSims = 10;
int count = 10;
float rand = drand48();
while (count) {
rand = drand48();
cout << rand << endl;
count--;
}
return 0;
}
结果生成
在C / C ++中,drand48()函数已知是具有均匀分布的随机生成器(获得0到1之间的任何值的概率相等)。
概率分布图如图所示:
随机数发生器 参考链接https://blog.csdn.net/jimmyblind/article/details/5550042