Главная страница

Рабочая тетрадь 3 Eфимова Анна. Рабочая тетрадь 3 Eфимова Анна (2). Рабочая тетрадь 3


Скачать 73.31 Kb.
НазваниеРабочая тетрадь 3
АнкорРабочая тетрадь 3 Eфимова Анна
Дата11.11.2022
Размер73.31 Kb.
Формат файлаdocx
Имя файлаРабочая тетрадь 3 Eфимова Анна (2).docx
ТипДокументы
#782571
страница2 из 4
1   2   3   4



2. Пример

Задача:




Перевести число 45 в прямой, обратный и дополнительный код (k = 8)

Решение:




Сначала переведем десятичное число 45 в двоичную систему счисления.

45

2
















-44

22

2













1

-22

11

2













0

-10

5

2













1

-4

2

2













1

-2

1
















0







Получилось:4510 = 1011012.

Запишем прямой код числа. Первый слева разряд 0 (знак «плюс»). Оставшиеся 7 разрядов занимает число в двоичном представлении. Если в числе меньше 7 разрядов, оставшиеся дополняются нулями слева. Таким образом, для числа 45 получаем прямой код в виде 0,0101101 (первый слева 0 соответствует знаку, затем следует 0, дополняющий число до 7 разрядов, затем следует само двоичное число). Положительные числа в прямом, обратном и дополнительном кодах изображаются одинаково.

Ответ:




0,0101101


Задача:




Найти прямой, обратный и дополнительный коды в однобайтовом представлении для числа -5610.

Решение:




Выполним перевод положительного числа 56 в двоичную систему счисления, получим: 5610 = 1110002.

Запишем прямой код числа. Всего в однобайтовом представлении 8 двоичных разрядов. Первый слева разряд – знаковый: 1 – для отрицательного числа. Оставшиеся 7 разрядов занимает число в двоичном представлении. Если в числе меньше 7 разрядов, оставшиеся дополняются нулями слева. Таким образом, для числа -56 получаем прямой код в виде 1,0111000.

Обратный код отрицательного числа получается из прямого инверсией всех разрядов, за исключением знакового. Получаем: 1,1000111.

Дополнительный код отрицательного числа получается из обратного кода прибавлением к двоичному числу единицы (знаковый разряд в операции не участвует):

1000111

+ 1

_____________

1001000

Получаем: 1,1001000

Ответ:




Прямой код 1,0111000

Обратный код 1,1000111

Дополнительный код 1,1001000




3. Задания

1.

Задача:




Перевести число 12 в прямой, обратный и дополнительный код (k = 8)

Решение:




Прямой - 0,00001100
Обратный - 00001100
Дополнительный- 00001100

Ответ:




0,00001100

2.

Задача:




Найти прямой, обратный и дополнительный коды в однобайтовом представлении для числа -3510.

Решение:




Прямой - 00100011
Обратный - 11011100
Дополнительный- 11011101

Ответ:




1,0100011/1,1011100/1,011101

3.

Задача:




Задан дополнительный код числа в однобайтовом представлении: 1,1011100. Найти число в десятичной системе счисления.

Решение:




Перевод 11011100 из двоичной в десятичную систему счисления. Выполним перевод в десятичную систему счисления вот так: 1∙2+ 1∙2+ 0∙2+ 1∙2+ 1∙2+ 1∙2+ 0∙2+ 0∙2= 1∙128+1∙64+0∙32+1∙16+1∙8+1∙4+0∙2+0∙1 = 128+64+0+16+8+4+0+0 = 220 10. Получилось: 11011100 2= 220 10.

Ответ:




-36



1. Теоретический материал

Сложение и вычитание чисел без знака осуществляется по стандартным алгоритмам для позиционных систем счисления.

При сложении в обратном коде складываются все разряды (включая знаковый) по обычному алгоритму. Результат сложения для k-разрядных чиселв общем виде имеет длину k+1 (старший разряд единица, если при сложении старших разрядов операндов был перенос, иначе – ноль). Значение левого k+1-го разряда прибавляется к младшему разряду результата. В итоге получим k-разрядный битовый набор – сумму чисел в обратном коде. Разность чисел в обратном коде x y можно свести к операции сложения x+ (–y).

В дополнительном коде для сложения сначала по обычному алгоритму складываются все разряды (включая знаковый), азатем единицу переноса в k+1-й разряд необходимо отбросить.



2. Пример

Задача:




Сложить два числа: А10 = 7, В10 = 16.

Решение:




Переведем числа в двоичную систему счисления

А2 = +111 = +0111; В2 = +10000.

Исходные числа имеют различную разрядность, необходимо провести выравнивание разрядной сетки:

[A2]п = [A2]ок = [A2]дк = 0|00111; [В2]п = [В2]ок = [В2]дк = 0|10000.

Сложение в обратном или дополнительном коде дает один и тот же результат:

+

0|

00111

0|

10000

С2 =

0|

10111

С10 =

23




Ответ:




23

Задача:




Сложить два числа: А10 = +16, В10 = -7 в ОК (обратный код) и ДК (дополнительный код).

Решение:




Требуется преобразование А+(-В), в котором второй член записывается с учетом его знака:

[A2]п = [A2]ок = [A2]дк = 0|10000;

2]п = 1|111 = 1|00111; [В2]ок = 1|11000; [В2]дк = 1|11001



При складывании чисел в обратном и дополнительном кодах получены переносы в знаковый разряд и из знакового разряда. В случае первом случае (обратный код)при переносе из знакового разряда необходимо дополнительно прибавить единицу младшего разряда. Во втором случае (дополнительный код) данный перенос игнорируется.

Ответ:



1   2   3   4


написать администратору сайта