Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабы - Дискретная математика.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
289.28 Кб
Скачать

20. Представим числа a2 и b2 в 16-разрядном формате, считая их записанными в дополнительном коде.

Для того, чтобы увеличить разрядность двоичного числа в ДК, не изменим при этом его значение, нужно между знаковым и значащими разрядами добавить недостающее количество разрядов, значение которых равно знаку числа.

В нашем случае AДК = 1.1010101ДК есть восьмиразрядное отрицательное число. Поскольку знак равен 1, после знакового разряда вставляем 8 разрядов, равных единице. Получаем:

AДК16 = 1.11111111 1010101ДК.

То же самое проделываем и с числом B:

BДК16 = 1.11111111 0110101ДК.

21. Выполним AДК16 + BДК16, представив результат в двоичной, шестнадцатеричной и десятичной СС.

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

1

1

1

1

1

1

1

1

1

1

1

1

1

1

переносы

+

1

1

1

1

1

1

1

1

1

1

0

1

0

1

0

1

AДК16

1

1

1

1

1

1

1

1

1

0

1

1

0

1

0

1

BДК16

1

1

1

1

1

1

1

1

1

0

0

0

1

0

1

0

AДК16+BДК16

Отметим, что при сложении чисел в ДК перенос из старшего разряда игнорируется и отбрасывается. Таким образом, результат составляет столько же разрядов, сколько и слагаемые (в нашем случае 16). Получаем:

AДК16 + BДК16 = 1.11111111100010102 = 1111 1111 1000 1010 = FF8A16.

Чтобы перевести результат из ДК в десятичную систему нужно сначала перевести его в прямой код. Поскольку результат отрицательный (старший разряд равен 1), то отделяем знак, оставшиеся 15 разрядов инвертируем и прибавляем единицу, после чего подставляем знак. Получаем:

AДК16 + BДК16 = 1.1111111110001010ДК = 1.0000000001110110ПК =

= – (64+32+16+4+2) = -11810.

Если взглянуть на результат, полученный в п.19, то можно убедиться в правильности выполненного сложения. Действительно:

AДК + BДК = -4310 + (-7510) = -11810.

22. Найдем для чисел aпк и bпк противоположные по знаку числа -aпк и -bпк и запишем их в двоичной системе счисления в 16-разрядном формате.

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

AПК = 1.10101012 = -8510.

-AПК = 0.10101012 = +8510.

Поскольку -AПК – положительное число, то при расширении его до 16 разрядов после знакового разряда вставляем восемь разрядов, равных нулю:

-AПК16 = 0.00000000 10101012.

Аналогично для числа B:

BПК = 1.01101012 = -5310.

-BПК = 0.01101012 = +53.

-BПК16 = 0.00000000 01101012.