Название типа | Диапазон значений | Длина, байт |
Real | 2.9e–39..1.7e+38 | |
single | 1.5e–45..3.4e+38 | |
double | 5.0e–324..1.7e+308 | |
extended | 3.4e–4932..1.1e+4932 |
Внутримашинное представление вещественных типов.
Real
Формат:
Где s — знак, m — мантисса, e — порядок числа.
Формула для вычисления значения, хранящегося в памяти:
v=(–1)s×2e-129×1.m, если 0 < е £ 255 или v = 0, если e = 0.
Точность 11 — 12 знаков.
Single
Формат:
Формула для вычисления значения, хранящегося в памяти:
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
Точность 7 — 8 знаков.
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 знаков.
Extended
Формат:
Формула для вычисления значения, хранящегося в памяти:
v =(–1)s×2e-16383×1.m, если 0 < e < 32767
v = (–1)s×216382×0.m, если e = 0 и m ¹ 0
v = (–1)s, если e = 0 и m = 0
v = (–1)s×Inf, если e = 32767 и m = 0
v = NaN, если e = 32767 и m ¹ 0
Точность 19 — 20 знаков.