Контрольная ОКТ№1
.docБЕЛОРУСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Кафедра программного обеспечения
информационных технологий
Основы компьютерной техники
Контрольная работа №1
Студент гр. 901 021- 31
Емельянов О И
Факультет НиДО
Минск 2010
Вариант 5(№ зач. кн. 901 021-31)
1. Дано: А= 5493 , В= 3275 .
Найти: С1= A+B, C2= A-B, C3= B-A, C4= -A-B,
Для вычислений использовать дополнительный код. Результат предоставить в прямом коде.
A= 5493= 0101 0100 1001 0011
B= 3275= 0011 0010 0111 0101
Доп. Код:
A= 00.0101 0100 1001 0011
-A=11.1010 1011 0110 1101
B=00.0011 0010 0111 0101
-B=11.1100 1101 1000 1011
C1= A+B=00.0101 0100 1001 0011
00.0011 0010 0111 0101
00.1000 0111 0000 1000
0110
00.1000 0111 0110 1000 (доп.к.=пр.к.)
C2= A-B= 00.0101 0100 1001 0011
11.1100 1101 1000 1011
100.0010 0010 0001 1110
1010
00.0010 0010 0001 1000 (доп.к.=пр.к.)
С3= B-A= 00.0011 0010 0111 0101
11.1010 1011 0110 1101
11.1101 1101 1110 0010
0110
11.1101 1101 1110 1000 (доп.к.)
11.0010 0010 0001 0111
1
11.0010 0010 0001 1000 (пр.к.)
C4= -A-B= 11.1010 1011 0110 1101
11.1100 1101 1000 1011
111.0111 1000 1111 1000
1010
11.0111 1000 1001 1000 (доп.к.)
11.1000 0111 0110 0111
1
11.1000 0111 0110 1000 (пр.к.)
2. Дано: А(порядок)=-2
А(мантисса)=0,56
В(порядок)=0
В(мантисса)=-0,51
Найти С=А/В используя обратный код и метод деления без восстановления остатка. Ответ привести к нормализованному виду.
Решение:
Переведём в двоичную систему:
А= 0.56*2=1.12 1
0.12*2=0.24 0
0.24*2=0.48 0
0.48*2=0.96 0
0.96*2=1.92 1
0.92*2=1.84 1
0.84*2=1.68 1
0.5610 = 0.10001112 ~ 00.100100(мод. обр.к.)
В= 0.51*2=1.02 1
0.02*2=0.04 0
0.04*2=0.08 0
0.08*2=0.16 0
0.16*2=0.32 0
0.32*2=0.64 0
0.64*2=1.28 1
0.5110 = 0.1000012 ~ 00.100001 (мод.обр.к.)
А(ок)=00.100100
В(ок)=00.100001
-В(ок)=11.011110
A/B=(A(м)/В(м))^(А(п)-В(п))
Найдём порядок:
А(п)=-2=11.101(ок)
В(п)=0=00.000(пк)
-В(п)=11.111(ок)
С(п)= 11.101
11.111
111.100
1
11.101 (ок) => 11.010(пк)
Найдём С(м) с помощью 8 действий используя метод деления без восстановления остатка:
1). 00.100100
11.011110
100.000010
1
00.000011 1
2). 00.000110
11.011110
11.100100 0
3). 11.001001
00.100001
11.101010 0
4). 11.010101
00.100001
11.110110 0
5). 11.101101
00.100001
100.001110
1
00.001111 1
6). 00.011110
11.011110
11.111100 0
7).11.111001
00.100001
100.011010
1
00.011011 1
8). 01.110110
11.011110
100.010100 1
Исходя из знаков результатов в каждом действии получаем ответ: 1.0001011~ 1.00011-результат после округления.
Приводим в нормализованный вид:
1>x>=0.5
Произведём арифметический сдвиг вправо, соответственно изменив порядок на 1:
C(м) = 1.000110 0.100011
C(п) = 11.01011.001
Учитывая знак мантиссы В(-0,51) получаем ответ:
С(м)=1.100011 (пк)
С(п)=1.001 (пк)