float_t, double_t
Определено в заголовочном файле <math.h> | ||
|---|---|---|
typedef /* implementation-defined */ float_t | (начиная с C99) | |
typedef /* implementation-defined */ double_t | (начиная с C99) |
Типы float_t и double_t являются вещественными типами, ширина которых не меньше ширины соответственно float и double, причём ширина double_t не меньше ширины float_t. Значение FLT_EVAL_METHOD определяет типы float_t и double_t.
FLT_EVAL_METHOD | Пояснение |
|---|---|
0 | float_t и double_t эквивалентны соответственно float и double |
1 | и float_t, и double_t эквивалентны double |
2 | и float_t, и double_t эквивалентны longdouble |
other | типы float_t и double_t определяются реализацией |
Пример
#include <float.h>
#include <math.h>
#include <stdio.h>
#define SHOW(expr) printf("%s = %d\n", #expr, (int)(expr))
int main()
{
SHOW(FLT_EVAL_METHOD);
SHOW(sizeof(float));
SHOW(sizeof(float_t));
SHOW(sizeof(double));
SHOW(sizeof(double_t));
}
Возможный вывод:
FLT_EVAL_METHOD = 1 sizeof(float) = 4 sizeof(float_t) = 8 sizeof(double) = 8 sizeof(double_t) = 8
Ссылки
- Стандарт C23 (ISO/IEC 9899:2024):
- 7.12 Математика <math.h> (стр.: TBD)
- Стандарт C17 (ISO/IEC 9899:2018):
- 7.12 Математика <math.h> (стр.: TBD)
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.12 Математика <math.h> (стр.: 231)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.12 Математика <math.h> (стр.: 212)
См. также
|
(C99) | задаёт точность, в которой выполняются все арифметические операции (макроконстанта) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/numeric/math/float_t