특정 딜레마의 경우 rand의 출력을 상수로 나누는 것은 임의의 부동 소수점을 생성하기 위한 강력한 접근 방식이 아닙니다. 학습 목적으로 대략적인 결과를 제공할 수 있지만 신뢰할 수 있는 난수가 필요한 심각한 애플리케이션에는 적합하지 않습니다.
수학적 연산을 사용하여 무작위 부동 소수점 생성
고정밀도를 생성하려면 C의 임의 부동 소수점은 C 표준 라이브러리에서 제공하는 기능을 활용합니다. 예를 들어, 0.0과 1.0 사이의 임의 부동 소수점을 생성하려면 다음 코드를 사용할 수 있습니다.
float r = static_cast<float> (rand()) / static_cast<float> (RAND_MAX);
임의 간격 내에서 임의 부동 소수점을 생성해야 하는 경우 그에 따라 수식을 조정하세요.
0.0부터 X:
float r2 = static_cast<float> (rand()) / (static_cast<float> (RAND_MAX/X));
LO에서 HI로:
float r3 = LO + static_cast<float> (rand()) /( static_cast<float> (RAND_MAX/(HI-LO)));
사용 진정한 난수 생성기
정규 분포를 따르는 진정한 난수가 필요한 시나리오에서는 다음과 같은 고급 방법론을 사용하는 것이 좋습니다.
난수 생성기 시드
rand()를 활용하기 전에 srand()를 호출하여 난수 생성기를 초기화해야 합니다. 일반적으로 이는 다음을 통해 수행됩니다.
srand (static_cast<unsigned> (time(0)));
적절한 헤더를 #include해야 합니다.
이러한 지침을 준수하면 시뮬레이션에서 데이터 분석에 이르기까지 다양한 애플리케이션에 대해 C에서 무작위 부동 소수점을 효과적으로 생성할 수 있습니다.
위 내용은 C에서 무작위 부동 소수점 숫자를 효과적으로 생성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!