Число двойной точности (Double precision, double)




Числа с фиксированной запятой

Есть два способа хранения вещественных чисел в памяти ЭВМ: с фиксированной и с плавающей запятой.

Число с фиксированной запятой — формат представления вещественного числа в памяти ЭВМ в виде целого числа. При этом само число x и его целочисленное представление x′ связаны формулой x = x′z, где z — цена (вес) младшего разряда. Простейший пример арифметики с фиксированной запятой — перевод рублей в копейки. В таком случае, чтобы запомнить сумму 12 рублей 34 копейки, мы записываем в ячейку памяти число 1234.

Применение

  • для ускорения вычислений в местах, где не требуется высокая точность. В большинстве современных процессоров ФЗ аппаратно не реализована, но даже программная ФЗ очень быстра.
  • минимальная поддержка дробных чисел на целочисленном процессоре (микроконтроллеры, мобильные телефоны, приставки вплоть до Playstation).
  • для записи чисел, которые по своей природе имеют постоянную абсолютную погрешность: координаты в программах вёрстки, денежные суммы.

Фиксированная запятая ведёт себя абсолютно предсказуемо — при подсчёте денег это позволяет наладить разные виды округления.

Недостаток фиксированной запятой — очень узкий диапазон чисел, с угрозой переполнения на одном конце диапазона и потерей точности вычислений на другом.

Например, если нужна точность в 3 значащих цифры, то 4-байтовая фиксированная запятая позволяет использовать диапазон чисел, различающихся приблизительно на 106 между самым большим и самым маленьким числом, а 4-байтовое число с плавающей запятой — в 1070.

Эта проблема и привела к изобретению плавающей запятой.

Числа с плавающей точкой (запятой)

Плавающая запятая — форма представления дробных чисел, в которой число хранится в форме мантиссы и показателя степени. Нормальной формой числа с плавающей запятой называется такая форма, в которой мантисса (без учёта знака) находится на полуинтервале [0; 1) (0<=a<1). Число с плавающей запятой, находящееся не в нормальной форме, теряет точность по сравнению с нормальной формой. Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно

Например: 0,0001 можно записать в 4 формах — 0,0001×100,

0,001×10−1,

0,01×10−2,

0,1×10−3),

поэтому распространена (особенно в информатике) также другая форма записи — нормализованная, в которой мантисса десятичного числа принимает значения от 1 (включительно) до 10 (не включительно), а мантисса двоичного числа принимает значения от 1 (включительно) до 2 (не включительно) (1<=a<q). В такой форме любое число (кроме 0) записывается единственным образом. Недостаток заключается в том, что в таком виде невозможно представить 0, поэтому представление чисел в информатике предусматривает специальный признак (бит) для числа 0. При этом число с плавающей запятой в нормальной форме имеет фиксированную относительную точность и изменяющуюся абсолютную. Наиболее часто используемое представление утверждено в стандарте IEEE 754. Реализация математических операций с числами с плавающей запятой в вычислительных системах может быть как аппаратная, так и программная. Для хранения в двоичном коде вещественных чисел необходимо произвести нормализацию двоичных чисел: X=S⋅M⋅2^E.

Стандарт описывает формат хранения мантиссы, показателя и знака, форматы положительного и отрицательного нуля, плюс и минус бесконечностей, а также определение «не числа» (NaN).

Число в памяти выглядит так:

  • бит S используется для хранения знака числа
  • биты E используются для хранения экспоненты числа
  • биты M используются для хранения мантиссы числа
Точность числа Размер, байт Мантисса, бит Порядок (экспонента), бит Порядок числа, степеней десятки Точность, десятичных знаков
половинная       от 10−4 до 104  
одинарная       от 10−38 до 1038  
двойная       от 10−307 до 10307  
четверная       от 10−4931 до 104931  

Число двойной точности (Double precision, double)

Для вычисления экспоненты из 11-ти битного числа вычитается 10-ти битное смещение экспоненты, равное 11111111112=102310. Для вычисления мантиссы к 1,0 добавляется поле мантиссы в виде дробной части. Число равно произведению мантиссы со знаком на двойку в степени экспоненты.



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2020-11-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: