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 эквивалентны long double |
other |
оба float_t и double_t определяются реализацией |
Пример
#include <float.h>
#include <math.h>
#include <stdio.h>
int main(void)
{
printf("%d\n", FLT_EVAL_METHOD);
printf("%zu %zu\n", sizeof(float),sizeof(float_t));
printf("%zu %zu\n", sizeof(double),sizeof(double_t));
return 0;
}Возможный вывод:
0 4 4 8 8
Ссылки
- Стандарт C11 (ISO/IEC 9899:2011):
- 7.12 Математика <math.h> (с. 231)
- Стандарт C99 (ISO/IEC 9899:1999):
- 7.12 Математика <math.h> (с. 212)
См. также
|
(C99) |
использование расширенной точности для промежуточных результатов: 0 не используется, 1 double используется вместо float, 2: long double используется (макроконстанта) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/c/numeric/math/float_t