FLT_EVAL_METHOD
From cppreference.net
|
헤더 파일에 정의됨
<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) |
|
(C99)
|
double
이상의 너비를 가지면서 가장 효율적인 부동소수점 타입
(typedef) |
|
C++ documentation
for
FLT_EVAL_METHOD
|
|