Namespaces
Variants

Floating-point environment

From cppreference.net

부동 소수점 환경은 구현에서 지원하는 부동 소수점 상태 플래그와 제어 모드의 집합입니다. 이것은 스레드 지역적이며, 각 스레드는 부모 스레드로부터 초기 부동 소수점 환경 상태를 상속받습니다. 부동 소수점 연산은 비정상적인 결과나 보조 정보를 나타내기 위해 부동 소수점 상태 플래그를 수정합니다. 부동 소수점 제어 모드의 상태는 일부 부동 소수점 연산의 결과에 영향을 미칩니다.

부동 소수점 환경 접근 및 수정은 #pragma STDC FENV_ACCESS ON 으로 설정된 경우에만 의미가 있습니다. 그렇지 않으면 구현체는 부동 소수점 제어 모드가 항상 기본값이고 부동 소수점 상태 플래그가 테스트되거나 수정되지 않는다고 가정할 수 있습니다. 실제로 HP aCC, Oracle Studio, IBM XL과 같은 소수의 현재 컴파일러만이 #pragma 을 명시적으로 지원하지만, 대부분의 컴파일러는 어쨌든 부동 소수점 환경에 의미 있는 접근을 허용합니다.

목차

타입

헤더 파일에 정의됨 <fenv.h>
fenv_t 전체 부동 소수점 환경을 나타내는 타입
fexcept_t 모든 부동 소수점 상태 플래그를 집합적으로 나타내는 타입

함수

지정된 부동 소수점 상태 플래그를 지움
(함수)
지정된 부동 소수점 상태 플래그 중 설정된 것을 확인함
(함수)
지정된 부동 소수점 예외를 발생시킴
(함수)
지정된 부동 소수점 상태 플래그의 상태를 부동 소수점 환경에서 복사하거나 부동 소수점 환경으로 복사함
(함수)
반올림 방향을 가져오거나 설정함
(함수)
현재 부동 소수점 환경을 저장하거나 복원함
(함수)
환경을 저장하고, 모든 상태 플래그를 지우며, 이후 모든 오류를 무시함
(함수)
부동 소수점 환경을 복원하고 이전에 발생한 예외를 다시 발생시킴
(함수)

매크로

부동소수점 예외
(매크로 상수)
부동소수점 반올림 방향
(매크로 상수)
기본 부동소수점 환경
(매크로 상수)

참고문헌

  • C23 표준 (ISO/IEC 9899:2024):
  • 7.6 Floating-point environment <fenv.h> (p: TBD)
  • 7.31.4 Floating-point environment <fenv.h> (p: TBD)
  • C17 표준 (ISO/IEC 9899:2018):
  • 7.6 부동 소수점 환경 <fenv.h> (p: 150-156)
  • 7.31.4 부동 소수점 환경 <fenv.h> (p: 332)
  • C11 표준 (ISO/IEC 9899:2011):
  • 7.6 Floating-point environment <fenv.h> (p: 206-215)
  • 7.31.4 Floating-point environment <fenv.h> (p: 455)
  • C99 표준 (ISO/IEC 9899:1999):
  • 7.6 부동 소수점 환경 <fenv.h> (p: 187-196)

참고 항목

C++ 문서 for 부동 소수점 환경