Имя типа | Диапазон значений | Размер, байт |
Float | 1.1754943E–38...1.175494E+38 | |
Double | 2.22507E–308... 2.225E+308 | |
Long double (в некоторых реализациях языка СИ отсутствует) | 3.4Е–4932…3.4Е+4932 |
Внутримашинное представление вещественных типов:
Float
Формат:
Формула для вычисления значения, хранящегося в памяти:
v = (–1)s×2e-127×1.m, если 0 < e < 255
v = (–1)s×2126×0.m, если e = 0 и m ¹ 0
v = (–1)s, если e = 0 и m = 0
v = (–1)s×Inf, если e = 255 и m = 0
v = NaN, если e = 255 и m ¹ 0
Точность 6 — 7 знаков.
Double
Формат:
Формула для вычисления значения, хранящегося в памяти:
v = (–1)s×2e-1023×1.m, если 0 < e < 2047
v = (–1)s×21022×0.m, если e = 0 и m ¹ 0
v = (–1)s, если e = 0 и m = 0
v=(–1)s×Inf, если e = 2047 и m = 0
v = NaN, если e = 2047 и m ¹ 0
Точность 15-16 знаков.