"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C++에서 소수 정밀도로 난수를 생성하는 방법은 무엇입니까?

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

2024년 11월 10일에 게시됨
검색:672

How to Generate Random Numbers with Decimal Precision in C  ?

C에서 십진수 정밀도로 난수 생성

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

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

  1. 필요한 헤더 포함: 소스에 헤더 파일 포함 code.
  2. 경계 정의: 난수를 생성하려는 간격의 하한 및 상한을 결정합니다.
  3. 임의 엔진 초기화: std::default_random_engine의 인스턴스를 인스턴스화하여 임의 값의 스트림을 생성합니다.
  4. 유니폼 생성 Distribution: 지정된 경계를 인수로 사용하여 std::uniform_real_distribution 객체를 생성합니다.
  5. Random Double 생성: 무작위 엔진을 사용하여 분포 객체의 연산자()를 호출하여 생성합니다. 간격 내의 임의의 이중.
#include 

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

    return 0;
}

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

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3