C에서 rand() 함수는 의사 난수를 생성하기 위한 신뢰할 수 있는 도구 역할을 합니다. 이를 RAND_MAX와 결합하고 간단한 수학 연산을 수행하면 지정된 간격 내에서 임의의 부동 소수점을 생성할 수 있습니다. 레크리에이션 프로그램과 교육 목적의 경우 이 접근 방식으로 충분합니다. 그러나 요구 사항에 정규 분포를 따르는 진정한 난수가 필요한 경우에는 보다 정교한 기술 구현을 고려하십시오.
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()를 호출하여 난수 생성기를 초기화하는 것이 중요합니다. 이 초기화는 rand()를 호출할 때마다 발생하는 것이 아니라 프로그램 실행 중에 한 번만 발생해야 합니다. 일반적인 관행은 다음과 같습니다.
srand(static_cast<unsigned>(time(0)));
다음 헤더 파일 포함이 필요합니다.
위 내용은 C에서 임의의 부동 소수점 숫자를 어떻게 생성할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!