Числа с плавающей точкой
Числа с плавающей точкой — это способ представления в вычислительных системах очень больших, очень малых и дробных чисел.
Такое число представляется примерно в виде:
где:
M M — мантисса;B B — основание системы счисления;E E — порядок, или экспонента.
В двоичных вычислительных системах обычно:
Поэтому число имеет вид:
Пример
Десятичное число:
можно представить в научной форме:
Здесь:
1,2345 — мантисса;
2 — порядок.
В двоичной системе используется такой же принцип, только основание равно 2.
Формат числа с плавающей точкой
Обычно машинное представление содержит три части:
Знак | Порядок | Мантисса1. Знак
Определяет знак числа:
0 — положительное;
1 — отрицательное.
2. Порядок
Определяет положение двоичной точки и позволяет представлять очень большие или очень маленькие значения.
3. Мантисса
Содержит значащие цифры числа и определяет точность представления.
Стандарт IEEE 754
Наиболее распространённым способом представления чисел с плавающей точкой является стандарт IEEE 754.
Одинарная точность — 32 бита
Число float обычно занимает 32 бита:
| Поле | Количество бит |
|---|---|
| Знак | 1 |
| Порядок | 8 |
| Мантисса | 23 |
Схематично:
S | EEEEEEEE | MMMMMMMMMMMMMMMMMMMMMMM 1 8 23Двойная точность — 64 бита
Число double обычно занимает 64 бита:
| Поле | Количество бит |
|---|---|
| Знак | 1 |
| Порядок | 11 |
| Мантисса | 52 |
Чем больше разрядов мантиссы, тем выше точность.
Нормализованное представление
Обычно число приводится к нормализованной форме.
Например:
Здесь:
мантисса — 1,01101;
порядок — 2.
Преимущества
Числа с плавающей точкой позволяют:
представлять очень большие числа;
представлять очень маленькие числа;
работать с дробными величинами;
выполнять инженерные и научные вычисления.
Например:
0,000000001 125000000 3,14159 -27,35Недостатки
Главный недостаток — ограниченная точность.
Не все десятичные дроби могут быть точно представлены в двоичной системе.
Например, число:
0.1в двоичном формате имеет бесконечное представление, поэтому в памяти хранится его приближённое значение.
Из-за этого при вычислениях могут появляться небольшие погрешности округления.
Например, в некоторых программах результат операции:
0.1 + 0.2может внутренне быть близким к:
0.30000000000000004Особые значения
Формат с плавающей точкой может также представлять специальные значения:
+0;
-0;
+∞ — положительная бесконечность;
-∞ — отрицательная бесконечность;
NaN — неопределённый числовой результат.
NaN может возникнуть, например, при некорректной математической операции.
Кратко для ответа по билету
Числа с плавающей точкой используются для представления дробных, очень больших и очень малых чисел. Число состоит из знака, порядка и мантиссы и представляется в виде:
Наиболее распространён стандарт IEEE 754. В 32-разрядном формате float используется 1 бит знака, 8 бит порядка и 23 бита мантиссы. Главное преимущество такого представления — большой диапазон значений, а недостаток — ограниченная точность и возможные ошибки округления.