Основной интерес в вычислениях представляют вещественные типы данных и погрешности округления, связанные с ними. По стандарту IEEE 754 вещественное число представляется в виде:
Рисунок 3.
Где – однобитовый знак числа, – нормализованная мантисса, – показатель степени двойки. В случае типа float под мантиссу выделяется 23 бита, экспоненту 8 бит, в случае типа double 52 бита, экспоненту 11 бит.
Приведём пример представления вещественного числа в типе float. Основной задачей является запись числа в виде . Число можно записать в виде , в данном случае мантисса имеет вид нормализация мантиссы позволяет отбросить единицу и записывать только дробную часть. Таким образом . Далее записываем показатель степени двойки. При этом нужно учитывать, что эта степень может быть как отрицательной так и положительной. Для этого показатель степени имеет вид:
,
где – количество бит на показатель степени двойки. В результате число представимо в виде:
Рисунок 4.
В завершении описания представления вещественных чисел нужно отметить, что для стандартных типов данных (float и double) имеют место следующие значения:
|
|
Таблица 1.
Тип | Минимальный порядок* | Максимальный порядок | Число значащих знаков |
float | – 45 | 38 | 7 |
double | – 323 | 308 | 15 |
(*) Стоит отметить, что мантисса может быть ненормализованной, что и приводит к таким значениям минимального порядка.