
- •Задание к лабораторной работе
- •Пример выполнения лабораторной работы
- •Лабораторная работа №2 Соответствия и отношения
- •Пример выполнения работы
- •Оформление отчета по лабораторной работе
- •Лабораторная работа №3 Системы счисления
- •Оформление отчета по лабораторной работе
- •Пример выполнения лабораторной работы
- •1. Переведем a2 и b2 в десятичную сс.
- •2. Переведем числа a10, b10 в троичную сс.
- •12. Выполним a2-b2.
- •16. Считая числа a2 и b2 знаковыми числами в прямом коде, найдем их десятичные значения aпк и bпк.
- •17. Считая числа a2 и b2 знаковыми числами в прямом коде, представить их в 16-разрядном формате, получив в результате числа aпк16 и bпк16.
- •19. Считая числа a2 и b2 знаковыми числами в дополнительном коде, найдем их десятичные значения aдк и bдк.
- •20. Представим числа a2 и b2 в 16-разрядном формате, считая их записанными в дополнительном коде.
- •22. Найдем для чисел aпк и bпк противоположные по знаку числа -aпк и -bпк и запишем их в двоичной системе счисления в 16-разрядном формате.
- •23. Найдем для чисел aдк и bдк противоположные по знаку числа -aдк и –bдк и запишем их в двоичной системе счисления в 16-разрядном формате.
- •24. Для чисел, полученных в п. 22, проанализируем по отдельности старший и младший байты, считая их числами в прямом коде.
- •25. Для чисел, полученных в п. 23, проанализируем по отдельности старший и младший байты, считая их числами в дополнительном коде.
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.