Составители:
Рубрика:
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