Аватар
Информатика, опубликовано 2018-08-22 19:37:32 by Гость

Выполните вычитания чисел путем сложения их обратных(дополнительных) кодов в формате 1 байт. Укажите, в каких случаях имеет место переполнение разрядной сетки:а) 19-14б)19-43в)43-25Я пока мало еще в этом разбираюсь, поэтому если не составит труда поподробнее. Спасибо)

Аватар
Ответ оставил Гость

Обратный код от A это A = 2^8 - 1 - A = Const - A
Схема вычитания путем суммы обратных кодов справедлива т.к.:
(A - B) = A + B = (Const - A) + (Const - (Const - B)) = Const - (A - B)

самый левый бит - это бит знака. если там 1 - то число отрицательное. Например, пусть дан обратный код:
F = 0010 1010, инвертируем биты, получаем:
F = 1101 0101 - смотрим на левую цифру (старший разряд) он равен 1, значит приписываем минус:
F = - (0101 0101) = -85
 
а)
19 = (0001 0011) = 1110 1100
14 = (0000 1110) = 1111 0001

F = 19 - 14 = 19 + 14 = 19 + 14 = 
1110 1100 +
0000 1110 = 
1111 1010

F = F = (1111 1010) = 0000 0101 = 5

б) F = 19 + 43= 
1110 1100 + 
0010 1011 =
0101 0111 (тут переполнение) 

F = 110 1000 = -010 1000 = -24

в) F = 43 - 25 = 43 + 25 = 
1101 0100 +
0001 1001 =
1110 1101

F = F = (1110 1101) = 0001 0010 = 18


Вопрос
Не нашли ответа?
Если вы не нашли ответа на свой вопрос, или сомневаетесь в его правильности, то можете воспользоваться формой ниже и уточнить решение. Или воспользуйтесь формой поиска и найдите похожие ответы по предмету Информатика.