>  기사  >  백엔드 개발  >  C에서 소수 정밀도로 난수를 생성하는 방법은 무엇입니까?

C에서 소수 정밀도로 난수를 생성하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-02 10:49:02587검색

How to Generate Random Numbers with Decimal Precision in C  ?

C에서 소수점 이하 정밀도의 난수 생성

난수 생성은 다양한 프로그래밍 애플리케이션에서 필수적인 도구입니다. C에서는 난수를 생성하는 여러 가지 방법이 있지만 특정 형식의 double을 생성하는 가장 간단한 접근 방식은 std::uniform_real_distribution 클래스를 사용하는 것입니다.

지정된 간격 내에서 임의의 double 숫자를 생성하려면 다음을 수행합니다. 다음 단계를 사용할 수 있습니다.

  1. 필요한 헤더 포함:
  2. 경계 정의: 난수를 생성하려는 간격의 하한과 상한을 결정합니다.
  3. 초기화 무작위 엔진: std::default_random_engine의 인스턴스를 인스턴스화하여 무작위 값의 스트림을 생성합니다.
  4. 균일 분포 생성: 다음과 같이 지정된 경계를 사용하여 std::uniform_real_distribution 객체를 생성합니다. 인수.
  5. 임의의 이중 생성: 무작위 엔진을 사용하여 분포 객체의 연산자()를 호출하여 간격 내에서 임의의 이중을 생성합니다.
<code class="cpp">#include <random>

int main() {
    double lower_bound = 0;
    double upper_bound = 10000;
    std::uniform_real_distribution<double> unif(lower_bound, upper_bound);
    std::default_random_engine re;
    double a_random_double = unif(re);

    return 0;
}</code>

이 코드 조각은 질문의 요구 사항을 충족하는 소수 정밀도로 0에서 10000 사이의 임의의 double을 생성합니다. 자세한 내용은 John D. Cook의 "C TR1을 사용한 난수 생성"에 대한 기사 또는 Stroustrup의 "난수 생성"에 대한 가이드를 참조하세요.

위 내용은 C에서 소수 정밀도로 난수를 생성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.