Примеры аудиторных заданий

 

Задание №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= , а это не правильно так как оба слагаемых отрицательные числа, значит и сумма должна быть отрицательной, а в данном случае сумма получается положительной, так как знаковый бит равен ( ).

- , потому что сумма не равняется ( ).

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