
3 Задание
Выполнить арифметические операции над двоичными числами с плавающей точкой в дополнительном коде:С=А+В. В таблице нижеприведеныдесятичные значения чисел А и В. С данными числами провести необходимые действия с пошаговой детализацией всех этапов. Вычисления и перевод чисел произвести с точностью до 5 знака после запятой.
A=4,6
B=-2,33
Решение:
Переводим числа Aи Bиз десятичной системы счисления в двоичную:
Отдельно целые и дробные части
A10=4,610=>N2:
A2=100,100112=0: 100100112*1011
|
|
B10=-2,3310=>N2:
B2=-10,010102= -0: 10010102*1010 |
|
Произведем операцию сложения C=A+Bв двоичной системе счисления в дополнительном коде.
Представим числа A,Bс порядком
А2=0,10010011*1011 В2= - 0,1001010*1010
В нормализованном виде:
Порядок Мантисса
[A2]П=0:11 0:10010011
[B2]П=0:10 1:1001010
Вычтем порядки
p=p1+(-p2)=>pДК=p1дк+p2дк;
p1=0:11ПК = ОК = ДК; p2=0:10ПК=>1:01ОК=>1:10ДК
+ |
0 |
: |
1 |
1 |
1 |
: |
1 |
0 |
|
|
0 |
: |
0 |
1 |
pДК=0:01;
Порядки чисел различаются на 1.Выравниваем порядки, для чего второе число сдвинем на 1 вправо. Получим порядок и мантиссу числаB:[B2]П=0:11
[mB]=1:01001010
[mA]ДК=[mA]OK=0:10010011
[mB]ДК=[mB]OK+20=1:10110110
Сложим мантиссы:
+ |
0 |
: |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
: |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
|
|
0 |
: |
0 |
1 |
0 |
0 |
1 |
0 |
0 |
1 |
Мантисса числа Сположительна.
Порядок числа С равен порядку числа А т.к. у него больший порядок. рС=11
Порядок |
Мантисса |
[С2]П=0:11 |
0:01001001 |
Поскольку мантисса результата не нормализована, так как старшая цифра мантиссы равна нулю, то нормализуем результат путем сдвига мантиссы на один разряд влево и соответственно вычитаем из значения порядка единицу:
Порядок |
Мантисса |
[С2]П=0:10 |
0:1001001 |
С210,0100122+0,25+0,031252,2812510