Вычислительные машины, системы и сети: Задание и методические указания к контрольной работе, страница 2

_______________                      _____________

[Q-P]OK = 11.010001                             100.101101

└-----------1

___________

[P-Q]OK=00.101110

При вычислении суммы [-Q-P]OK знаковые разряды равны 10, что свидетельствует о переполнении разрядной сетки.

ЗАДАЧА 4. Построить дополнительные коды для -Q, -U, -Р.

РЕШЕНИЕ. Для построения дополнительного кода (ДК) отрицательного числа используем обратный код числа. Прибавление единицы в младший разряд ОК дает дополнительный код числа:

[-Q]ОК=11.110011        [-U] ОК =11.110100      [-P]OK=11.000101

                             1                                     1                                  1

[-Q] ДК=11.110100        [-U]ДК  =11.110101      [-Р]ДК=11.000110

ЗАДАЧА 5. Сложить в дополнительных кодах -Q -U, -Q-P, Q-Р, P-Q.

РЕШЕНИЕ. При сложении чисел в ДК перенос из старшего знакового разряда отбрасывается:

111 1 1    .                        11      1

[-Q]ДК=  11.110100          [-Q]ДК =  11 110100

[-U]ДК=  11.110101          [-P]ДК =  11,000110

________________          ________________

[-Q-U]ДК= 11.101001        [-Q-Р]дк=  10.111010     Переполнение!

11                                   111 1   1

[Q]ДК= 00.001100                 [Р]ДК=  00.111010

[-P]ДК= 11.000110                          [-Q]ДК=  11.110011

_______________                ________________

[Q-Р]ДК=11.010010              [Р-Q]ДК=  00.101110

Сумма [-Q-P]ДK имеет комбинацию 10 в знаковых paзpядах чтосвидетельствует о переполнении разрядной сетки.

ЗАДАЧА 6. Вычислить 12-разр. произведение и 6-разр. частное: Q×U, U/Q.

РЕШЕНИЕ.

a.  Для вычисления произведения Q×U перемножаем числители дробей, выражающих Q и U:

64×Q=001100

×

64×U=001011

-------ЧП1=001100

+

ЧП2=0011000

---------ЧС1=0100100

+

ЧП3=001100000

------------С=010000100

Здесь ЧП1 - частичное произведение, полученное умножением 64×Q, т. е. числителя Q, на младший разряд числителя U:

ЧП1=64×Q×1,

Аналогично, ЧП2 и ЧП3 - результаты умножения 64×Q на соответствующие разряды числителя U:

ЧП2=64×Q×10,

ЧП3=64×Q×1000.

Частичная сумма ЧС1=ЧП1+ЧП2, сумма С=ЧС1+ЧПЗ.

Окончательно, искомое произведение Q×P=C×(l/(64×64)) или в двоичной системе:

[Q×U]=010000100×0.000000000001=00.000010000100.

b.   Для вычисления частного U/Q выпишем прямые коды делимого и делителя и ДК отрицательного значения делителя:

[U] =00.001011

[Q] =00.001100

[-Q]ДK =11.110100

Частное будет получено в форме ч0.ч1ч2ч3ч4ч5ч6.

Используем алгоритм деления без восстановления остатка. На первом шаге из делимого, а на последующих шагах - из удвоенного остатка вычитается делитель, если остаток положительный; в противном случае, когда остаток отрицательный, к удвоенному остатку прибавляется делитель. Знаки полученных последовательно остатков

R1, R2, ...

дают значения цифр частного: положительный знак соответствует цифре: 1, отрицательный знак дает цифру 0. Для вычитания используем ДК делителя:

[U]    =00.001011

[-Q]ДК=11.110100

------------------R1   =11.111111  <->ч0 = 0 2×R1  =11.111110

[Q]   =00.001100

-------------------R2   =00.001010  <+> ч1 = 1

2×R2  =00.010100

[-Q]ДК=11.110100

---------------------R3   =00.001000  <+> ч2 = 1

2×R3  =00.010000

[-Q]ДК=11.110100

---------------------R4   =00.000100  <+> ч3 = 1

2×R4  =00.001000

[-Q]ДК=11.110100

---------------------R5   =11.111100  <-> ч4 = 0

2×R5  =11.111000

[Q]     =00.001100

---------------------R6   =00.000100  <+> ч5 = 1

2×R6  =00.001000

[-Q]ДК=11.110100

---------------------R7   =11. 111100  <-> ч6 = 0

Таким образом, получаем частное ч0.ч1ч2ч3ч4ч5ч6 = 0.111010.

при записи ответа удваиваем знаковый разряд: 00.111010.

ЗАДАЧА 7. Перевести в 8-ричную систему и вычислить: Т, R, S, R+S

T=11112, R=7778, S=2831.

РЕШЕНИЕ. В системе счисления с основанием 8 используется набор цифр (0,1,2,3,4,5,6,7). Для перевода числа Т-11112 делим это число на 8 на первом шаге, а на последующих шагах делим очередные частные на 8 и выписываем получающиеся остатки в обратном порядке:

11112:8=1389  остаток  0

1389:8=  173  остаток  5

173:8=    21  остаток  5

21:8=      2  остаток  5

2:8=       0 остаток  2

Таким образом, Т=255508. Аналогично получаем:

R= 777810= 171428, S= 283110=054178.

Для вычисления суммы в 8-ричной системе используем правила сложения: 0+0=0, 0+1=1,... ,0+7 = 7,..., 1×0=0, 1+1=2, …, 1+7=10, 2+7 = 11 и т.д. Итак, вычисляем [R+S]8:

переносы     11

[R]8=17142

[S]8=05417

-------------[R+S]8=24561

ЗАДАЧА 8. Перевести в 16-ричную систему и вычислить T, R, S, R+S

РЕШЕНИЕ. В 16-ичиой системе счисления используется набор цифр (0,1,2,З,4,5,6,7,8,9,A,B,C,D,E,F) причем последние шесть цифр A,B,C,B,E,F имеют значения 10,11,12,13,14,15 соответственно.

Переводим Т:

11112:16=694       8<->8

694:16=   43       0<->0

43:16=     2    11<->В

2:16=     0      2<->2

Итак, [Т]16=2В08. Аналогично находим:

[R]16 =[7778]16=1E62,   [S]16=[12831]16=ОВОF.

Вычисляем сумму [R+S]16:

переносы      1   1

[R]16=1Е62 [S]16=0B0F -------------[R+S]l6=2971

При сложении l6-ричных чисел использованы соотношения 2+F=11и E+B=19.

ЗАДАЧА 9. Сложить числа с плавающей точкой:

101000Е100010+111000Е011110.

РЕШЕНИЕ. Имеем два числа с плавающей точкой, представленные в 2-й системе: 101000Е10010 и 111000Е011110. Второе число имеет меньший порядок, поэтому для выравнивания порядков находим разность порядков первого и второго чисел:

100010-011110=000100 или в 10-й системе [000100]=4. Сдвигаем мантиссу второго числа 111000 на 4 разряда вправо, получаем 000011. итак, имеем два числа с выравненными порядками:

101000Е100010 и 000011Е100010.

Складываем мантиссы:

101000

000011

--------101011

Поскольку при сложении мантисс не возникло переполнение разрядной сетки, нормализация не требуется и можно записать ответ:

101011Е100010.