Примеры аудиторных заданий
Задание №1.Необходимо выполнить арифметическую операцию сложения двух чисел с фиксированной точкой, записанных в десятичной системе счисления:
.
Решение. Необходимо оба числа перевести в двоичную систему счисления, а затем представить в дополнительном коде.
Для удобства возьмем длину разрядной сетки равную четырем битам.
Формат суммы представлен на рис. 2.12, а вычисление суммы и значения флагов на рис.2.13.
| 0, | |||
| D3 | D2 | D1 | D0 |
Рисунок 2.12 - Формат суммы
| Десятичное число | Двоичное число | Значения флагов |
| (+5)(10) | 0,101(2) | СF=0 |
| (+2)(10) | 0,010(2) | SF=0 |
| (+7)(10) | 0,111(2) | ZF=0 |
| OF=0 |
Рисунок 2.13 - Пример вычисления суммы двух двоичных чисел с фиксированной точкой
Значение флагов:
-
, потому, что нет перехода (
) из разряда D2 в знаковый разряд D3 и нет перехода из знакового разряда D3 за пределы разрядной сетки.
-
, потому, что значение знакового бита D3=
.
-
, потому, что сумма не равняется (
).
-
, потому, что результат правильный и переполнение разрядной сетки нет.
Задание №2.Необходимо выполнить арифметическую операцию сложения двух чисел с фиксированной точкой записанных в десятичной системе счисления:
.
Решение. Необходимо оба числа перевести в двоичную систему счисления, а затем представить в дополнительном коде.
Для удобства возьмем длину разрядной сетки равную четырем битам.
Формат суммы представлен на рис. 2.14, а вычисление суммы и значения флагов на рис.2.15.
| 1, | |||
| D3 | D2 | D1 | D0 |
Рисунок 2.14 - Формат суммы
| Десятичное число | Двоичное число | Значения флагов |
| (+7)(10) | 0,111(2) | CF=1 |
| (+7)(10) | 0,111(2) | SF=1 |
| (+14)(10) | 1,110(2) | ZF=0 |
| OF=1 |
Рисунок 2.15 - Пример вычисления суммы двух чисел и значение флагов после получения результата
Значение флагов:
-
, т.к. есть переход (
) из разряда D2 в знаковый разряд D3 и нет перехода из знакового разряда D3 за пределы разрядной сетки.
-
, потому что значение знакового бита D3=
, а это не правильно, так как оба слагаемых положительные числа, значит и сумма должна быть положительной, а в данном случае сумма получается отрицательной, так как знаковый бит равен (
).
-
, потому что сумма не равняется (
).
-
, потому что результат не правильный и переполнение разрядной сетки есть.
Задание №3.Необходимо выполнить арифметическую операцию сложения двух чисел с фиксированной точкой, записанных в десятичной системе счисления:
).
Решение. Необходимо оба числа перевести в двоичную систему счисления.Для удобства возьмем длину разрядной сетки равную четырем битам. Формат суммы представлен на рис. 2.16, а вычисление суммы и значения флагов на рис.2.17.
| 0, | ||||
| D3 | D2 | D1 | D0 |
Рисунок 2.16 - Формат суммы
| Десятичное число | Двоичное число | Значения флагов | |
| (+5)(10) | 0,101(2) | CF=0 | |
| (-2)(10) | 1,110(2) | SF=0 | |
| (+3)(10) | 10,011(2) | ZF=0 | |
| OF=0 | |||
Рисунок 2.17 - Пример вычисления суммы двух чисел и значение флагов после получения результата
Значение флагов:
-
, потому что есть перехода (
) из разряда D2 в знаковый разряд D3 и есть перехода из знакового разряда D3 за пределы разрядной сетки.
-
, потому что значение знакового бита D3=
.
-
, потому что сумма не равняется (
).
-
, потому что результат правильный и переполнение разрядной сетки нет.
Единица, которая вышла за пределы разрядной сетки, не учитывается.
Задание №4.Необходимо выполнить арифметическую операцию сложения двух чисел с фиксированной точкой записанных в десятичной системе счисления:
.
Решение. Необходимо оба числа перевести в двоичную систему счисления, а затем представить в дополнительном коде.
Для удобства возьмем длину разрядной сетки равную четырем битам.
Формат суммы представлен на рис. 2.18, а вычисление суммы и значения флагов на рис.2.19.
| 0, | ||||
| D3 | D2 | D1 | D0 |
Рисунок 2.18 - Формат суммы
| Десятичное число | Двоичное число | Значения флагов |
| (+2)(10) | 0,010(2) | CF=0 |
| (-5)(10) | 1,011(2) | SF=1 |
| (-3)(10) | 1,101(2) | ZF=0 |
| OF=0 |
Рисунок 2.19 - Пример вычисления суммы двух чисел и значение флагов после получения результата
Значение флагов:
-
, потому что нет перехода (
) из разряда D2 в знаковый разряд D3 и нет перехода из знакового разряда D3 за пределы разрядной сетки.
-
, потому что значение знакового бита D3=
.
-
, потому что сумма не равняется (
).
-
, потому что результат правильный и переполнение разрядной сетки нет. Число
и есть (
).
Для того, чтобы перейти к прямому коду, необходимо все биты проинвертировать, а затем к младшему биту прибавить (
), рис.2.20:
| 1,101(2) | (-3) |
| 0,010(2) | инверсия |
| 1(2) | +1 |
| 0,011(2) | (+3) |
Рисунок 2.20 - Пример перехода от отрицательной записи числа в дополнительном коде к положительной записи числа
Задание №5.Необходимо выполнить арифметическую операцию сложения двух чисел с фиксированной точкой, записанных в десятичной системе счисления:
).
Решение. Необходимо оба числа перевести в двоичную систему счисления, а затем представить в дополнительном коде. Для удобства возьмем длину разрядной сетки равную четырем битам.
Формат суммы представлен на рис. 2.21, а вычисление суммы и значения флагов на рис.2.22.
| 1, | ||||
| D3 | D2 | D1 | D0 |
Рисунок 2.21 - Формат суммы
| Десятичное число | Двоичное число | Значения флагов | |
| (-5)(10) | 1,011(2) | CF=0 | |
| (-2)(10) | 1,110(2) | SF=1 | |
| (-7)(10) | 11,001(2) | ZF=0 | |
| OF=0 | |||
Рисунок 2.22 - Пример вычисления суммы двух чисел и значение флагов после получения результата
Значение флагов:
-
, потому что есть переход (
) из разряда D2 в знаковый разряд D3 и есть перехода из знакового разряда D3 за пределы разрядной сетки.
-
, потому что значение знакового бита D3=
.
-
, потому что сумма не равняется (
).
-
, потому что результат правильный и переполнение разрядной сетки нет. Единица, которая вышла за пределы разрядной сетки не учитывается.
Число
и есть
. Для того, чтобы перейти к прямому коду, необходимо все биты проинвертировать, а затем к младшему биту прибавить (
), рис.2.23.
| 1,001(2) | (-7) |
| 0,110(2) | инверсия |
| 1(2) | (+1) |
| 0,111(2) | (+7) |
Рисунок 2.23 - Пример перехода от отрицательной записи числа в дополнительном коде к положительной записи числа
Задание №6.Необходимо выполнить арифметическую операцию сложения двух чисел с фиксированной точкой, записанных в десятичной системе счисления:
.
Решение. Необходимо оба числа перевести в двоичную систему счисления, а затем представить в дополнительном коде. Для удобства возьмем длину разрядной сетки равную четырем битам. Формат суммы представлен на рис. 2.24, а вычисление суммы и значения флагов на рис.2.25.
| 0, | ||||
| D3 | D2 | D1 | D0 |
Рисунок 2.24 - Формат суммы
| Десятичное число | Двоичное число | Значения флагов | |
| (-7)(10) | 1,001(2) | CF=1 | |
| (-7)(10) | 1,001(2) | SF=0 | |
| (-14)(10) | 10,010(2) | ZF=0 | |
| OF=1 | |||
Рисунок 2.25 - Пример вычисления суммы двух чисел и значение флагов после получения результата
Значение флагов:
-
, потому что нет перехода (
) из разряда D2 в знаковый разряд D3 и есть переход из знакового разряда D3 за пределы разрядной сетки.
-
, потому что значение знакового бита D3=
, а это не правильно так как оба слагаемых отрицательные числа, значит и сумма должна быть отрицательной, а в данном случае сумма получается положительной, так как знаковый бит равен (
).
-
, потому что сумма не равняется (
).
-
, потому что результат не правильный и переполнение разрядной сетки есть.