Вариант № 22
Задание 1.1. Найти значений С1, С2, С3, С4, определяемые выражениями:
С1 = А+В, С2 = А-В, С3 = В- А+, С4 =- А -В, где, согласно варианту, А=-451, В+6631. При выполнении вычислении использовать двоично-десятичный обратный код.
Решение:
Представим числа A, -A, B, -B в обратном коде. Если число отрицательное в знаковый разряд минус, все остальные разряды инвертируются. Если число положительное в знаковые разряд ноль, остальные такие же, как в прямом коде.
- 0 4 5 1
[A]пк(-451)= 1.0000 0100 0101 0001
[A]ок = 1.1111 1011 1010 1110
+ 0 4 5 1
[-A]пк(+451)=0. 0000 0100 0101 0001
[-A]ок =0. 0000 0100 0101 0001
+ 6 6 3 1
[B]пк(6631)=0.0110 0110 0011 0001
[B]ок = 0. 0110 0110 0011 0001
- 6 6 3 1
[-B]пк(-6631)=1. 0110 0110 0011 0001
[-B]ок =1.1001 1001 1100 1110
C1=A+B=-451+6631=6180
* * *
1.1111 1011 1010 1110 [A]ок
0.0110 0110 0011 0001 [В]ок
10.0110 0001 1101 1111 +1
0.0110 0001 1110 0000 в первой тетраде возник перенос
1010 в тетрада где не было переноса -6
0. 0110 0001 1000 0000- [C1]пк во всех тетрадах разрешенные комбинации,
+ 6 1 8 0 - [C1]10 следовательно коррекция не требуется
C2=A-B=-451-6631=-7082
* * * *
1.1111 1011 1010 1110 [A]ок
1.1001 1001 1100 1110 [-В]ок
11. 1001 0101 0111 1100 +1
1. 1001 0101 0111 1101
1. 0110 1010 1000 0010 преобразуем в прямой код
0110 если в тетраде запрещенная комбинация прибавляем 6
1. 0111 0000 1000 0010 - [C2]ПК
- 7 0 8 2 -[ C2]10
C3=-A+B=451+6631=7082
0. 0000 0100 0101 0001 [-A]ок
0. 0110 0110 0011 0001 [В]ок
0.0110 1010 1000 0010
0110 коррекция +6 где запрещенные комбинации
0. 0111 0000 1000 0010 - [C3]ПК
+ 7 0 8 2 - [С3]10
C4=-A-B=451-6631=-6180
*
0. 0000 0100 0101 0001 [-A]ок
1. 1001 1001 1100 1110 [-В]ок
1. 1001 1110 0001 1111
0110 в тетрада где был перенос +6
1. 1001 1110 0111 1111 [C4]ок
1. 0110 0001 1000 0000 [C4]ПК
- 6 1 8 0 [C4]10
Задание 1.2. Выполнить операцию деления без восстановления остатка над числами А и В, представленными с плавающей точкой. А {ап =+3 (порядок А), ам = 0.9 (мантисса А)}; В{bп = -1 (порядок B), bм =0.55 (мантисса B)}. Использовать двоичный дополнительный код. При выполнении задания порядки и мантиссы операндов А и В необходимо представить в двоичной системе счисления и сформировать для них прямые коды. Разрядность модуля порядка должна быть равна 3, разрядность модуля мантиссы - 6 . Результат (порядок и мантисса) должен быть представлен в прямом коде в нормализованной форме.
Решение:
Результат вычисления С=А-В. Представим мантиссу и порядок чисел Аи В в двоичном прямом и дополнительном коде.
[ап]пк=0.011
[ап]дк=0.011
ам = 0.9
Мантисса А в двоичном виде:
2|9
1|8
1|6
1|2
0|4
0|8
1|6
[|aм|]мдк=00.111001
bп = -1
[bп]пк=1.001
[bп]дк=1.111
[-bп]дк=0.001
bм = 0.55
Мантисса В в двоичном виде:
2|55
1|10
0|20
0|40
0|80
1|60
1|20
[|bм|]ПК =00.100011
[|bм|]мдк =00.100011
[-|bм|]мдк=11.011101
Знак модуля результата деления определяется суммирование знаков модулей А и В и См{зн}= Aм{зн}+ Bм{зн}=0+0=0.
Порядок результата определяется как разность ап и bп:
0.011
+ 0.001
0.100 [Cп]пк
Определяемый разряда частного |
Выполняемые действия |
Пояснение действий |
Значение очередного разряда частного |
1 р. (разряд целой части) -1-й такт |
00.111001 +11.011101 100.011110 00.111100 |
вычитание из абсолютного значения делимого абсолютное значение делителя; остаток >0 (перенос игнорируется) сдвинутый остаток |
1 |
2 р. (старший разряд модульной части) - 2-й такт |
+11.011101 100.011001 00.110010 |
Вычитание |В|, т.к остаток>0
сдвинутый остаток |
1 |
3 р. - 3-й такт |
+11.011101 100.001111 00.011110 |
Вычитание |В|, т.к остаток>0
сдвинутый остаток |
1 |
4 р. - 4-й такт |
+11.011101 11.111011 11.110110 |
Вычитание |В|, т.к остаток>0
сдвинутый остаток |
0 |
5 р. - 5-й такт |
+00.100011 100.011001 00.110010 |
Прибавление |В|, т.к остаток<0
сдвинутый остаток |
1 |
6 р - 6-й такт |
+11.011101 100.001111 00.011110 |
Вычитание |В|, т.к остаток>0
сдвинутый остаток |
1 |
7 р. - 7-й такт |
+11.011101 11.111011 11.110110 |
Вычитание |В|, т.к остаток>0
сдвинутый остаток |
0 |
8 р - 8-й такт |
+00.100011 100.011001 |
Прибавление |В|, т.к остаток<0
|
1 |
Предварительное значение частного от деления А на В:
[Cм*]пк=0. 1.1101101
[Cп*]пк=1.100
Так как в результате деления возникло нарушение нормализации, модуль частного сдвигаем на один разряд вправо, а предварительное значение порядка увеличиваем на единицу. С учетом округления:
[Cм]пк=0. 111011
1.100 [Cп*]дк
+0.001 +1
1.101 [Cп]ДК
1.011 [Cп]пК