C 표준 랜덤함수는 정수의 랜덤값만 생성합니다. 일반적으로 실수 랜덤값은 아래와 같은 나눗셈을 통해서 취득할수 있습니다. 아래 코드는 low에서 high사이의 실수 랜덤값을 생성하는 함수입니다.
double drand(double low, double high)
{
double d;
d = (double) rand() / RAND_MAX;
return (low + d * (high - low));
}
참고로 한가지 더 적으면 터보씨에 있는 랜더마이즈(randomize)함수는 아래와 같은 매크로를 통해 동일하게 정의할 수 있습니다.
#define randomize() srand((int) time(NULL))
—
실수 랜덤 값은 도대체 뭐에 쓸려고 생성한걸까? 사고 실험인가?