Арифметические основы ЭВМ. Пономарев В.С - 12 стр.

UptoLike

XY+= = 0 0111 10 0 111 10
110 101
...
Таким образом результат сложения:
XY+= =(. )0 111 10 28
101
210
.
При
умножении двух чисел с плавающей точкой их мантиссы
перемножаются, а порядки складываются.
В арифметическо-логическом устройстве (АЛУ) ЭВМ операция
умножения реализуется в виде следующей последовательности действий:
1) Мантиссы, представленные в прямом коде, перемножаются (при этом
установка десятичной точки происходит как и при нормальном умножении
путем подсчета количества разрядов после точки в обоих множителях).
2) Порядки складываются с применением
обратного или дополнительного
кодов.
3) Знаки чисел обрабатываются специальной логикой (исключающее или).
Пример.
Представить числа X
=
5
10
и Y =−0 375
10
. в виде нормализованных
двоичных чисел с плавающей точкой и перемножить. Результат проверить
переведя произведение в десятичную систему.
Решение:
1. Переведем числа в двоичную с.с. и нормализуем.
X == = 5 101 0 101 10
10 2
11
2
(. );
Y =− =− =
0375 0011 01110
10 2
1
2
..(.).
2. Запишем мантиссы в восьмиразрядном прямом коде:
m
X
пр
= 0 1010000,
;
m
Y
пр
= 1 1100000, .
3. а) Перемножим мантиссы. б) Определим знак произведения.
.
.
.
101
11
101
101
01111
×
Так как знаки множителей разные (в
знаковых разрядах 0 и 1 соответственно),
то знаком произведения будет “–” (в
знаковом разряде будет 1).
Таким образом мантисса произведения, записанная в прямом коде имеет
вид:
(),mm
XY
⋅=
пр
1 0111100 .
Таким образом результат умножения:
XY⋅= = =(. ) (. ) .0 01111 10 0 1111 10 1 875
10
2
1
210
.
При
выполнении операции деления чисел с плавающей точкой
мантиссу делимого делят на мантиссу делителя, а из порядка делимого
вычитают порядок делителя.
Пример.
Представить числа
X
=
20
10
и Y
=
025
10
. в виде нормализованных
двоичных чисел с плавающей точкой и вычислить
X/Y. Результат
проверить переведя частное в десятичную систему.
1. Переведем числа в двоичную с.с. и нормализуем.
X
== = 20 10100 0 101 10
10 2
101
2
(. );
Y
===
025 001 0110
10 2
1
2
..(.).
2. Разделим мантиссы и вычтем порядки.
mm
XY
/./..
=
=
0101 01 101;
pp
XY
=
=
101 1 110()
.
Таким образом результат деления X/Y
=⋅10110
110
. .
3. Нормализуем результат и переводим в “10” с.с..
X/Y
=⋅ = (. ) ( . )1 01 10 0 101 10
110
2
111
2
;
X/Y
=
=
1010000 80
210
.
В АЛУ ЭВМ, при выполнении операции деления, деление мантисс и
вычитание порядков осуществляется с использованием обратного или
дополнительного кодов. Знаки чисел обрабатываются специальной логикой
(исключающее или).
Упражнения 3.
4. Сложим порядки.
pp
XY
+=+=11 1 10() .
 X + Y = −0. 0111 ⋅10110 = −0 .111 ⋅10101 .                                   Таким образом мантисса произведения, записанная в прямом коде имеет
                                                                              вид: ( m
                                                                                         X
                                                                                             ⋅ mY ) п р = 1 , 0111100 .
Таким образом результат сложения: X + Y = ( −0 .111 ⋅ 10 ) 2 = −2810 .
                                                        101

                                                                              4. Сложим порядки.
        При умножении двух чисел с плавающей точкой их мантиссы               p X + p Y = 11 + ( −1) = 10 .
перемножаются, а порядки складываются.                                        Таким образом результат умножения:
        В арифметическо-логическом устройстве (АЛУ) ЭВМ операция
                                                                              X ⋅ Y = ( −0 . 01111 ⋅ 1010 ) 2 = ( −0 .1111 ⋅ 101 ) 2 = −1.87510 .
умножения реализуется в виде следующей последовательности действий:
1) Мантиссы, представленные в прямом коде, перемножаются (при этом                    При выполнении операции деления чисел с плавающей точкой
установка десятичной точки происходит как и при нормальном умножении          мантиссу делимого делят на мантиссу делителя, а из порядка делимого
путем подсчета количества разрядов после точки в обоих множителях).           вычитают порядок делителя.
2) Порядки складываются с применением обратного или дополнительного           Пример.
кодов.                                                                        Представить числа X = 2010 и Y = 0 . 2510       в виде нормализованных
3) Знаки чисел обрабатываются специальной логикой (исключающее или).          двоичных чисел с плавающей точкой и вычислить X / Y . Результат
Пример.                                                                       проверить переведя частное в десятичную систему.
Представить числа X = 510 и Y = −0 . 37510 в виде нормализованных             1. Переведем числа в двоичную с.с. и нормализуем.
                                                                              X = 2010 = 10100 2 = ( 0 .101 ⋅ 10
                                                                                                                      101
двоичных чисел с плавающей точкой и перемножить. Результат проверить                                                        )2 ;
переведя произведение в десятичную систему.                                                                      −1
                                                                              Y = 0 . 2510 = 0 . 012 = (0 .1 ⋅ 10 ) 2 .
Решение:
1. Переведем числа в двоичную с.с. и нормализуем.                             2. Разделим мантиссы и вычтем порядки.
X = 510 = 1012 = (0 .101 ⋅ 1011 ) 2 ;                                         m X / mY = 0 .101 / 0 .1 = 1. 01 ;
Y = −0 . 37510 = −0 . 0112 = ( −0 .11 ⋅ 10 −1 ) 2 .                           p X − pY = 101 − ( −1) = 110 .
2. Запишем мантиссы в восьмиразрядном прямом коде:                            Таким образом результат деления X/Y = 1. 01 ⋅10110 .
mпXр = 0 , 1010000 ;                                                          3. Нормализуем результат и переводим в “10” с.с..
                                                                              X/Y = (1. 01 ⋅ 10) 2 = (0 .101 ⋅ 10111 ) 2 ;
                                                                                                   110
mпY р = 1 , 1100000 .
                                                                              X/Y = 1010000 2 = 80 10 .
3. а) Перемножим мантиссы.        б) Определим знак произведения.
                                                                                     В АЛУ ЭВМ, при выполнении операции деления, деление мантисс и
                   .101               Так как знаки множителей разные (в
                                   знаковых разрядах 0 и 1 соответственно),   вычитание порядков осуществляется с использованием обратного или
                 × .11             то знаком произведения будет “–” (в        дополнительного кодов. Знаки чисел обрабатываются специальной логикой
                                                                              (исключающее или).
                     101           знаковом разряде будет 1).
                   101                                                        Упражнения 3.
                . 01111