random.c

来自「该文件包内包含了一个16QAM调制解调程序」· C语言 代码 · 共 47 行

C
47
字号
/*
*******************************************************************
ANSI C source code
filename:
	random.c
abstract:
	to generate the random number
author:
	Shen Ke
version:
	V 1.0
reference:
	蒙特卡洛方法
*******************************************************************
*/

#include "QAMSoftDem.h"

double random_source()
{
	long z,k;
	

	

	k = s1 / 53668L;
	s1 = 40014L * (s1 - k * 53668L) - k * 12211L;
	if(s1 < 0)
		s1 = s1 + 2147483563L;
	k = s2 / 52774;
	s2 = 40692L * (s2 - k * 52774L) - k * 3791L;
	if(s2 < 0)
		s2 = s2 + 2147483399L;
	z = s1 - s2;
	if(z < 1)
		z = z + 2147483562L;
	
	return (double) z / (double) 2147483563.0;
}

int generate_binary_source()
{
	if(random_source() < 0.5)
		return 0;
	else
		return 1;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?