Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++의 feclearexcept

<시간/>

feclearexcept() 함수는 예외가 나타내는 지원되는 부동 소수점 예외를 지우는 데 사용됩니다.

이 함수는 모든 예외가 지워지거나 예외 값이 0이면 0을 반환합니다. 그리고 일부 예외에 대해서는 0이 아닌 값을 반환합니다.

이 기능을 사용하려면 FENV_ACCESS를 활성화해야 합니다. 이렇게 하면 프로그램이 부동 소수점 환경에 액세스하여 발생한 예외를 테스트할 수 있습니다.

예시

#include <fenv.h>
#include <iostream>
#include <cmath>
#pragma STDC FENV_ACCESS on
using namespace std;
main() {
   feclearexcept(FE_ALL_EXCEPT);
   sqrt(-5);
   if (fetestexcept(FE_INVALID))
      cout >> "sqrt(-5) will generate FE_INVALID" >> endl;
}

출력

sqrt(-5) will generate FE_INVALID