Saturday, April 21, 2007
PHP 프로그래밍] 실수 랜덤 난수 생성 0에서 1까지 출력, Float Random Rand
PHP의 난수 출력 함수들은 정수를 반환합니다. 그런데 수학적 연산에서는 0.0에서 1.0까지의 실수 난수가 많이 사용됩니다.
정수를 반환하는 mt_rand() 의 값을, mt_rand()가 반환할 수 있는 최대값으로 나누어 주면, 0~1까지의 실수 랜덤 넘버가 생성됩니다.
다음 예제와 같습니다:
소스 파일명: example.php
실행 결과 화면:
위의 예제에서는 30개만 출력했는데,
난수 30000개를 만들어서, 엑셀로 정렬해 본 결과
0.000041898340006312
에서
0.99998735217377
까지의 실수 난수들이 출력되었습니다. 0.0 에서 1.0 이라고 할 수 있습니다.
php example.php > out.html
이라고 하면, 실행 결과가 out.html 이라는 파일로 저장됩니다.
정수 난수 생성: ▶▶ PHP 프로그래밍] 랜덤 정수 난수 구하기, 1에서 10까지, Random Rand int
▶▶ PHP, 정규분포 난수 생성, 가우스 분포 랜덤 발생 함수; Normal Distribution
0~1까지의 실수 난수 생성기 (온라인 버전): ▶▶ 0에서 1까지의 실수 난수 발생, 랜덤 생성; Float Random Maker
정수를 반환하는 mt_rand() 의 값을, mt_rand()가 반환할 수 있는 최대값으로 나누어 주면, 0~1까지의 실수 랜덤 넘버가 생성됩니다.
다음 예제와 같습니다:
0.0에서 1.0까지의 실수 난수 발생 예제 소스
소스 파일명: example.php
<html>
<head>
<title>PHP Example</title>
</head>
<body>
<?php
for ($i = 0; $i < 30; $i++) {
$result = mt_rand() / mt_getrandmax();
echo "$result<br />\n";
}
?>
</body>
</html>
<head>
<title>PHP Example</title>
</head>
<body>
<?php
for ($i = 0; $i < 30; $i++) {
$result = mt_rand() / mt_getrandmax();
echo "$result<br />\n";
}
?>
</body>
</html>
실행 결과 화면:
D:\Z>php example.php
<html>
<head>
<title>PHP Example</title>
</head>
<body>
0.52372240346098<br />
0.70050819064514<br />
0.31598526952601<br />
0.74765221809393<br />
0.68959701652154<br />
0.765967422056<br />
0.48051167674386<br />
0.34187152671715<br />
0.23549252247228<br />
0.68739067236306<br />
0.59697089325496<br />
0.83018079019626<br />
0.62978890381278<br />
0.19879387654308<br />
0.74206832784324<br />
0.83952188437782<br />
0.30306003955335<br />
0.7206036419238<br />
0.52402230516263<br />
0.50808864203658<br />
0.44506259190154<br />
0.10106342895937<br />
0.99416509084132<br />
0.27904122335792<br />
0.61441761982367<br />
0.63703481510143<br />
0.44365280514753<br />
0.98430605231985<br />
0.13798505493346<br />
0.53450815125113<br />
</body>
</html>
D:\Z>php example.php > out.html
D:\Z>
<html>
<head>
<title>PHP Example</title>
</head>
<body>
0.52372240346098<br />
0.70050819064514<br />
0.31598526952601<br />
0.74765221809393<br />
0.68959701652154<br />
0.765967422056<br />
0.48051167674386<br />
0.34187152671715<br />
0.23549252247228<br />
0.68739067236306<br />
0.59697089325496<br />
0.83018079019626<br />
0.62978890381278<br />
0.19879387654308<br />
0.74206832784324<br />
0.83952188437782<br />
0.30306003955335<br />
0.7206036419238<br />
0.52402230516263<br />
0.50808864203658<br />
0.44506259190154<br />
0.10106342895937<br />
0.99416509084132<br />
0.27904122335792<br />
0.61441761982367<br />
0.63703481510143<br />
0.44365280514753<br />
0.98430605231985<br />
0.13798505493346<br />
0.53450815125113<br />
</body>
</html>
D:\Z>php example.php > out.html
D:\Z>
위의 예제에서는 30개만 출력했는데,
난수 30000개를 만들어서, 엑셀로 정렬해 본 결과
0.000041898340006312
에서
0.99998735217377
까지의 실수 난수들이 출력되었습니다. 0.0 에서 1.0 이라고 할 수 있습니다.
php example.php > out.html
이라고 하면, 실행 결과가 out.html 이라는 파일로 저장됩니다.
정수 난수 생성: ▶▶ PHP 프로그래밍] 랜덤 정수 난수 구하기, 1에서 10까지, Random Rand int
▶▶ PHP, 정규분포 난수 생성, 가우스 분포 랜덤 발생 함수; Normal Distribution
0~1까지의 실수 난수 생성기 (온라인 버전): ▶▶ 0에서 1까지의 실수 난수 발생, 랜덤 생성; Float Random Maker
tag: php
PHP
<< Home