|
Главная -> Появление первого микропроцессора 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
Структура этих программ аналогична структуре программ, рассмотренных выше. Набор положительных и отрицательных чисел, представленных в формате (8, 24), приведен в табл. 2.4. Табл. 2.4. Числа с плавающей запятой в формате (8, 24) Положительные числа Отрицательные числа
2.3. УМНОЖЕНИЕ ДВОИЧНЫХ ЧИСЕЛ 2.3.1. МЕТОДИКА УМНОЖЕНИЯ Умножение z = x- у двоичных нормализованных чисел с плавающей запятой х === 2" • X, y = T-Y определяется выражениями: 2=2" Х-2". 72" • Z=T Z; (2.15) Z, /"г--.г, если Z<2-, ( где Z ==X-Y; m = m,c + 132 в соответствии с формулами (2.15), (2.16) умножение выполняется в три этапа: 1) определяется порядок произведения путем алгебраического сложения порядков сомножителей; 2) находится мантисса произведения путем перемножения мантисс сомножителей по правилам арифметики с фиксированной запятой; 3) производится, если необходимо, нормализация произведения влево. Поскольку минимальные значения нормализованных мантисс сомножителей равны 2~, минимальное значение произведения составляет (2~• 2~) = 2~, и нормализация требует не более одного сдвига произведения влево, что отражает формула (2.16). При алгебраическом суммировании порядков сомножителей и нормализации влево возможны переполнение и антипереполнение порядка произведения, что необходимо выявлять программными средствами. При вычислении порядка произведения в случае смещенных порядков сомножителей Шхси и Шу см сумма последних равна тсм + тсм = т, + 2* + + 2* = = {mjc-\-ту-\-2)-\-2 и отличается от правильного смещенного порядка произведения на величину 2*. Поэтому вычисление смещенного порядка произведения выполняется по формуле Шх см + АИг; см - 2* = тг см. Граничная относительная ошибка произведения чисел с плавающей запятой определяется так же, как и для чисел с фиксированной запятой, по выражению (1.16) при условии отсутствия переполнения и антипереполнения порядка произведения. Далее будут приведены программы умножения чисел с плавающей запятой УДПЗЗ и удп34, реализующие рассмотренный алгоритм умножения для короткого и длинного форматов чисел. 2.3.2. Формат (8,161 -18,16] = 8,16 Программа УДПЗЗ выполняет умножение чисел в формате (8,16):
УЖЗЗ: гПОДПРОГРАММА УМНОЖЕНИЯ З-БАИТНЫХ ДВОИЧНЫХ ЧИСЕЛ С ПЛА-;БАЮ111Ей ЗАПЯТОЙ Б ДОПОЛНИТЕЛЬНОМ КОЛЕ ФОРМАТА (8. !()) = ;(ПОР.МАН).ГДЕ БАЙТ ПОРЯДКА СОДЕРХИТ БИТ ЗНАКА МАНТИССЫ ;И целочисленный двоичный ПОРЯДОК со CMEUEHHEM +40Н>а ;ДВА байта мантиссы-СТБ и МЛБ-ДРОБНОЕ НОРМАЛИЗОВАННОЕ ;ЧИСЛО б ДОПОЛНИТЕЛЬНОМ КОДЕ. 5ВХ0ДНЫЕ ПАРАМЕТРЫ:(ВгС)-АДРЕС МНОЖИМОГОг(НгЕ)-АДРЕС fМНОЖИТЕЛЯ.ВЫХОДНЫЕ ПАРАМЕТРЫ:(BfC)-АДРЕС ПРОИЗВЕДЕНИЯ гПР (ПР НА МЕСТЕ МНОЖИМОГО)»CY=l-nPH3HAK ПЕРЕПОЛНЕНИЯ ;ИЛИ АНТИПЕРЕПОЛНЕНИЯ ПОРЯДКА ПР.ИСПОЛЬЗУЮТСЯ ВСЕ ре-гГИСТРЫ,СОХРАНЯЮТСЯ (б.с). (H.L) .ГЛУБИНА СТЕКА~14.,ИСП0ЛЬ-;ЗУЮТСЯ ПОДПРОГРАММЫ s »К0МЗ»,«ОЕНЗ*.»УДФ17»,*НМАН2». ;0ЧЕНКА:ДЛИНА-й1 БАЙТ(+167 БАЙТ под РОГРЛММ)гВРЕМЯ-НЕ гЕОЛЕЕ 2054 ТАКТОВ (с УЧЕТОМ ПОДПРОГРАММ). (ПРОВЕРКА МНОЖИМОГО мм НА ноль
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.0142 |
|