Доставка цветов в Севастополе: SevCvety.ru
Главная -> Появление первого микропроцессора

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116

Табл. 2.1. Пограничные числа формата (8,16)

/.10

- Лтву +Л„ип -.min

7F FF 00 80

FFFF 0001 8000 8000

+3F +3F -40 -40

-25=.(1 2-«) + 2 <.2-> 2-.2~

+0,92-10 -0,92-10 +0,27.10-* -0,27-10-

Заметим, что неравенства (2.8) и (2.9) получены для нормализованных чисел, округленных несимметричным способом при их представлении в «-разрядном {п = 16) формате мантиссы. В случае симметричного округления (1.9) величина бг уменьшается в два раза. Для обеспечения эквивалентной точности и диапазона в случае чисел с фиксированной запятой потребовалась бы разрядность, в шесть раз большая.

На рис. 2.3, б показан четырехбайтный формат двоичного числа с плавающей запятой повышенной точности. Первый байт содержит значение смещенного порядка (смещение 128io=80i6), а три остальных - СТБ, СРБ, МЛБ мантиссы, причем в старшем разряде СТБ мантиссы указывается знак мантиссы. Пограничные значения чисел формата (8,24) указаны в табл. 2.2.

Табл. 2.2. Пограничные числа формата (8, 24)

2"°--410*

7FFFFF

-1-2".(1-2-=

+0,17-10

800001

-2".(1 -2-2=>

-0,1710=

400000

+2--.2-

-1-1,4.10-"

4 min

COOOOO

2-28.2-

-l,4•10-

Граничная относительная ошибка представления (8, 24) не превышает бг<2-=* + »0,9- 10"-. Таким образом, данный формат существенно расширяет диапазон и точность обрабатываемых чисел. Отметим, что в ряде приложений арифметики с плавающей запятой нет необходимости в использовании формата повышенной точности, поскольку точность исходной информации в микропроцессорных системах зачастую ограничена классом



точности первичных датчиков на уровне 0,1...0,05 %, т. е. превышает неточность представления чисел в формате (8, 16) в соответствии с формулой (2.9). Использование формата повышенной точности связано с дополнительными затратами памяти и времени работы микропроцессора и целесообразно для задач, требующих повышенной точности обработки или большего диапазона представления чисел. Числа с плавающей запятой являются числами ограниченной точности. Поэтому для арифметики с плавающей запятой справедливы все свойства АОТ, рассмотренные в § 1.1. Условимся в дальнейшем изображать нулевое число с плавающей запятой в виде нулевой мантиссы Л2ф=0 и минимального порядка т - гпгат. Поскольку порядок имеет смещение, то, очевидно,

tTLcK min = 0.

2.2. СЛОЖЕНИЕ И ВЫЧИТАНИЕ ДВОИЧНЫХ ЧИСЕЛ

2.2.1. МЕТОДИКА СЛОЖЕНИЯ И ВЫЧИТАНИЯ

Ранее, в § 1.2, было показано, что сложение чисел с фиксированной запятой - точная операция, поскольку она не использует округление результата и не вносит в него какую-либо дополнительную погрешность, кроме погрешностей слагаемых. Если слагаемые точны, то точна и сумма. Если слагаемые - числа ограниченной точности, то точность суммы определяется выражениями (1.15) и (1.16). В отличие от этого сложение чисел с плавающей запятой является в общем случае неточной операцией, вносящей дополнительную погрешность в результат. Поэтому сумма чисел с плавающей запятой даже при точных слагаемых будет, вообще говоря, числом ограниченной точности. Операцию вычитания чисел с плавающей запятой, представленных в дополнительных кодах, можно свести к операции сложения уменьшаемого с дополнительным кодом вычитаемого. Поэтому в дальнейшем обсудим операцию алгебраического сложения (вьшолняет сложение и вычитание чисел в зависимости от знаков слагаемых).

Рассмотрим сложение z = x-\-у двоичных чисел с плавающей запятой: х = 2" - X и у = 2""• Y. Если порядки слагаемых равны {тх = ту), то мантиссы X к Y можно непосредственно сложить, поскольку фактическое положение запятой в обоих слагаемых одинаково, т. е. слагаемые совмещены разрядами мантисс с одинаковыми весами.



в общем случае, когда числа имеют различные порядки {Шх Ф iy) непосредственно складывать мантиссы нельзя, поскольку фактическое положение запятой в слагаемых различно, т. е. они совмещены разрядами мантисс с несовпадающими весами. Поэтому необходимо предварительно преобразовать слагаемое с меньшим порядком: увеличить его порядок до величины большего порядка и соответствующим образом уменьшить значение его мантиссы, чтобы в целом сохранить величину числа. Эту операцию называют выравниванием порядков. При ее выполнении прежде всего определяется разность порядков Am = тх - Шу.

Увеличение порядка слагаемого с меньшим порядком, например у, равносильно умножению у 2*". Тогда уменьшение мантиссы У эквивалентно делению У : 2" (или умножению У •2""), что обеспечивается сдвигом мантиссы У вправо - денормализацией мантиссы - на Am разрядов. С учетом этого процесса сложение чисел с плавающей запятой можно определить следующими выражениями:

2:=2"-A:-f 2". y=2"-Z==2".Z; (2.10)

Х+У.2-1"Ч если Дт>0;

y-fX.2-1", если Ат<0;

X+Y, если Ат=0;

m=max(m;„ ту);

Z, т.-, 2-.. gj, 2>1, (2.12)

где Am = - ту.

Формула (2.11) определяет процесс выравнивания порядков и алгебраического суммирования мантисс с равными порядками по правилам арифметики с фиксированной запятой. При сложении мантисс возможны две ситуации: переполнение мантиссы суммы и отсутствие переполЯе-ния. В первом случае необходимо устранить переполнение путем сдвига мантиссы вправо на один двоичный разряд (делением на 2) и соответствующим увеличением на 1 порядка суммы. Эту операцию называют нормализацией вправо. Во втором случае необходимость в нормализации вправо отпадает. Действия на этапе нормализации вправо отражает формула (2.12).

При сложении близких по величине чисе с разными знаками возможно уменьшение значности мантиссы



0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 [36] 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116



0.0121
Яндекс.Метрика