Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОТВЕТЫ 51 - 80.docx
Скачиваний:
133
Добавлен:
30.03.2015
Размер:
2.18 Mб
Скачать

52.1 Представление чисел с фиксированной и плавающей запятой. Диапазон и точность представления

применяются два основных способа представления чисел - с фиксированной и плавающей запятой. Большинство универсальных ЭВМ работает с числами, представленными с плавающей запятой, а большинство специализированных - с фиксированной запятой.

Однако целый ряд машин работает с числами в этих двух форматах.

В общем виде способ представления чисел сильно влияет на характер программирования. Так, программирование для ЭВМ, работающих в системе с фиксированной запятой, значительно усложняется, поскольку помимо алгоритмических трудностей этот процесс требует ещё отслеживания положения запятой.

Фиксированная запятая

Оговоримся, что разрядная сетка машины имеет постоянное число разрядов - n.

При представлении чисел с фиксированной запятой считают, что запятая всегда находится перед старшим разрядом, а все числа, которые участвуют в вычислениях, считаются по абсолютной величине меньше единицы:

|X| < 1

Введём две характеристики чисел: диапазон изменения и точность представления.

Диапазон изменения характеризуется теми пределами, в которых могут находиться числа, с которыми оперирует машина.

Отличное от нуля самое малое число:

Таким образом, диапазон чисел, с которыми работает ЭВМ, есть:

|X|min |X||X|max

2-n |X|1 - 2-n

Иными словами, числа, которые выходят за диапазон изменения, в ЭВМ не могут быть представлены точно. Если

|X| < |X|min = 2-n,

то такое число воспринимается как нуль.

Если:

|X| > |X|max = 1- 2-n,

то такое число воспринимается как бесконечно большое. Этим двум случаям соответствуют понятия машинного нуля и машинной бесконечности.

При оптимальном округлении абсолютная ошибка:

|ΔX| 0,5*2-n

Минимальная относительная ошибка:

|ΔX| 0,5*2-n |x|min = _______ = -__________ 2-(n+1) |X|max 1-2-n

так как 1-2-n 1 при большом "n"

Максимальная относительная ошибка:

|ΔX| 0,5*2-n |X|max = _____ = _____________ = 0,5 |X|min 2-n

Ошибка представления числа зависит от величины самого числа и способа округления:

2-(n+1) |X|0,5

Заметим, что для малых чисел ошибка может достигать большой величины.

Плавающая запятая

В ЭВМ с плавающей запятой число представляется в виде:

X = ± Mx * q±p,

где: Mx - мантисса числа;

q - основание системы счисления;

p - порядок.

Разрядная сетка машины принимает следующий вид:

Это лишь условное изображение основных слогов в числе. Заметим, что в реальной ЭВМ может быть принят любой другой порядок расположения.

Пусть "m" разрядов отведено под изображение мантиссы, а "k" разрядов под изображение порядка. Тогда для двоичной системы и нормализованного вида числа:

q = 2;

0,1 Mx < 1- нормализованная мантисса.

То есть диапазон чисел:

Абсолютная ошибка представления числа в ЭВМ с плавающей запятой равна:

|ΔX| 0,5*2-m

Так как

2-1 |Mx1-2-m,

то минимальная относительная ошибка:

|ΔX|min = (0,5*2-m) / (1 - 2-m) 2-(m+1), при m - большом,

а максимальная относительная ошибка:

|ΔX|max =(0,5*2-m) / (2-1) = 2-m

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

Теоретически "плавающая запятая" имеет преимущества перед "фиксированной". Но соответствующее устройство получается намного сложнее. К тому же специфика выполнения операций с плавающей запятой требует большего числа микроопераций, что приводит к снижению быстродействия ЭВМ. Однако "плавающая запятая" снимает с программиста обязанность отслеживать положение запятой в вычислениях и значительно упрощает сам процесс программирования вычислительных задач.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]