Namespaces
Variants

FLT_EVAL_METHOD

From cppreference.net
< c ‎ | types ‎ | limits
헤더 파일에 정의됨 <float.h>
#define FLT_EVAL_METHOD /* implementation-defined */
(C99부터)

부동 소수점 상수와 대입, 캐스트, 라이브러리 함수 호출을 제외한 모든 연산(연산자, 피연산자의 암시적 변환)에서 얻은 부동 소수점 값의 범위와 정밀도를 지정합니다.

설명
-1을 제외한 음수 값 구현 정의 동작
- 1 기본 정밀도를 알 수 없음
0 모든 연산과 상수가 사용된 타입의 범위와 정밀도로 평가됨. 추가적으로 float_t double_t 는 각각 float double 와 동등함
1 모든 연산과 상수가 double 의 범위와 정밀도로 평가됨. 추가적으로 float_t double_t 모두 double 와 동등함
2 모든 연산과 상수가 long double 의 범위와 정밀도로 평가됨. 추가적으로 float_t double_t 모두 long double 와 동등함

참고 사항

FLT_EVAL_METHOD 의 값과 관계없이, 모든 부동 소수점 표현식은 축약(contracted) 될 수 있습니다. 즉, 모든 중간 결과가 무한 범위와 정밀도를 가지는 것처럼 계산될 수 있습니다 ( #pragma STDC FP_CONTRACT 가 꺼져 있지 않는 한).

캐스트와 할당은 여분의 범위와 정밀도를 제거합니다: 이것은 확장 정밀도 FPU 레지스터에서 표준 크기 메모리 위치로 값을 저장하는 동작을 모델링합니다.

참고 항목

(C99)
float 이상의 너비를 가지면서 가장 효율적인 부동소수점 타입
(typedef)
double 이상의 너비를 가지면서 가장 효율적인 부동소수점 타입
(typedef)
C++ documentation for FLT_EVAL_METHOD