CS

inff, inf, nan, NAN

재윤 2024. 1. 26. 15:50
반응형

inff, inf

  • inff, inf는 양의 무한대를 나타내는 부동 소수점 리터널 상수이다. double, float에서 사용하는 상수가 나뉘어지는데 밑 표를 보고 이히해보자.
  double float
양의 무한대 부동 소수점 리터널 상수 inf inff
음의 무한대 부동 소수점 리터널 상수 -inf -inff

 

inf

→ double 또는 float 데이터 타입에서 양의 무한대를 나타내는 표준 상수이다. 기본적으로 double 형식으로 양의 무한대를 나타냄. float 형식으로 양의 무한대를 나타내려면 명시적으로 ‘f’를 사용해야함.

  • 즉, double 변수에 inf 또는 float 변수에 inff를 할당하면 해당 변수는 양의 무한대를 나타낸다.

inff

float 데이터 타입에서 양의 무한대(positive infinity)를 나타내는 부동 소수점 리터럴 상수이다.

  • 즉, float 형식으로 양의 무한대를 나타낼 때 사용된다. 예를 들어, float 변수에 inff를 할당하면 해당 변수는 양의 무한대를 나타낸다.

 

예제

#include <iostream>
#include <cmath>

int main() {
    double positive_infinity_double = INFINITY; // 기본적으로 double 형식의 양의 무한대
    float positive_infinity_float = INFINITY;   // 명시적으로 float 형식의 양의 무한대

    std::cout << "양의 무한대 (double): " << positive_infinity_double << std::endl;
    std::cout << "양의 무한대 (float): " << positive_infinity_float << std::endl;

    return 0;
}

결과

양의 무한대 (double): inf
양의 무한대 (float): inf

 

NAN, nan

nan

  1. "nan" (소문자)은 부동 소수점 숫자에서 "NaN" (Not-a-Number) 값을 나타냄.
  2. 이 값은 부동 소수점 연산 중에 정의되지 않거나 정의할 수 없는 수치 결과를 나타냄. 이 값은 일반적으로 소문자로 표기됩니다.

NAN

  1. "NAN" (대문자)은 C와 C++에서 사용되는 특별한 식별자 또는 매크로로, 부동 소수점 NaN 값을 나타내는 데 사용됨.
  2. 이것은 컴파일러 또는 표준 라이브러리에서 지원하는 상수로, 대문자로 표기됩니다. 일반적으로 NAN은 "NaN" 값을 나타내며, 해당 부동 소수점 타입의 NaN 값을 생성하고 비교할 때 사용됩니다.
#include <iostream>
#include <cmath>

int main() {
    double nanValue = NAN; // 부동 소수점 NaN 값을 나타내는 표준 상수

    if (std::isnan(nanValue)) {
        std::cout << "nanValue는 NaN입니다." << std::endl;
    } else {
        std::cout << "nanValue는 NaN이 아닙니다." << std::endl;
    }

    return 0;
}

결과

nanValue는 NaN입니다.
반응형

'CS' 카테고리의 다른 글

리터널, 상수  (0) 2024.01.26
이진 기수법을 통한 고정 소수점과 부동 소수점  (2) 2024.01.24
이진 기수법(이진법)  (1) 2024.01.24
>>, << 쉬프트 연산 C++  (0) 2023.12.02