1.Запишите прямые коды десятичных чисел в однобайтовом формате: а) 64 б) 58 в) 72 г) -96 2. Запишите двоичные числа в дополнительном коде: а) 1010 б) -1001 в) -11 г) -11011
3. Переведите в прямой код числа, записанные в дополнительном коде, и найдите их десятичные эквиваленты: а) 00000100 б) 11111001 4. Представьте целые числа в 16-разрядной ЭВМ: а) 25 б) -25 в) 801 г) -610.
1.
а) 64 = 01000000
б) 58 = 00111010
в) 72 = 01001000
г) -96 = 11100000
2.
а) 1010 = 00001010 = 00001010
б) -1001 = 10001001 = 01110111
в) -11 = 10000011 = 01111101
г) -11011 = 10011011 = 01100101
3.
а) 00000100 = 00000011 = 11111100 = -124
б) 11111001 = 11111000 = 00000111 = 7
4.
а) 25 = 0000000000011001
б) -25 = 1000000000011001
в) 801 = 0000001100100001
г) -610 = 1000001001100010
Объяснение:
1. Для выполнения задания нужно:
1) Перевести числа в двоичную систему
2) Написать числа в K-разрядную сетку
3) Заполнить пустые места нулевыми битами
В последнем числе есть знак минус, поэтому на первое место поставим не ноль, а единицу.
2. Чтобы перевести число в доп. код нужно прибавить к числу один.
Первое число без знака, поэтому в прямом, обратном и дополнительном кодах записывает одинаково.
В последних трёх числах есть знак минус, поэтому заменим его на единицу. Переведём число в обратный код. Чтобы это сделать нужно заменить все единицы на нули, а нули - на единицы, включая знаковый бит. После выполнения предыдущих действий прибавим к результату единицу.
Числа нужно записать в доп. коде, поэтому будем использовать 8-битовый формат.
3. Числа записаны в доп. коде, поэтому для перевода вычтем из них единицу, а потом из обратного переведём в прямой.
4. Чтобы представить числа в 16-разрядной ЭВМ нужно проделать то же самое, что и с 8-разрядной, но использовать в два раза больше битов.