Практическая работа №2. «Математические основы работы ЭВМ. Алгебраическое представление двоичных чисел. Правила недесятичной арифметики».



 

1. Цель работы:

1.1. Изучить коды, используемые в ЭВМ для алгебраического представления чисел.

1.2. Изучить правила выполнения арифметических операций над числами в недесятичных системах счисления.

 

2. Общие сведения.

Алгебраическое представление двоичных чисел, то есть представления чисел с учетом их знака включает в себя арифметическое представление числа и знаковый разряд. При этом код «0» означает знак «+» (плюс), код «1» – знак «–« (минус). Для алгебраического представления чисел в вычислительных машинах используют специальные коды:

- прямой код числа;

- обратный код числа;

- дополнительный код числа.

Два последних кода позволяют заменить неудобную для ЭВМ операцию вычитания на операцию сложения с соответствующим отрицательным числом.

Дополнительный код обеспечивает более быстрое выполнение операций, поэтому чаще всего в ЭВМ применяется именно он.

Прямой код числа N – [N]пр. Пусть N = a1 a2 a3 … am. Тогда:

- если N>0, то [N]пр = 0, a1 a2 a3 … am;

- если N<0, то [N]пр = 1, a1 a2 a3 … am;

- если N=0, то имеет место неоднозначность: [0]пр = 0,0… или 1,0…;

В общем виде:

Обратный код числа N – [N]обр. Обозначение  означает величину, обратную  (инверсию ), то есть если , то , и наоборот.

- если N>0, то [N]обр = [N]пр = 0, a1 a2 a3 … am;

- если N<0, то [N]обр = ;

- если N=0, то имеет место неоднозначность: [0]обр = 0, 0… или 1,11…1.

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

Например, число N = 0,1011, [N]обр = 0,1011.

Число N = - 0,1011, [N]обр = 1,0100. В случае, когда N<0, [N]обр = 10-1 10-n + N, то есть [N]обр = 1,1111 + N.

Обобщая результаты, получим:

Дополнительный код числа N – [N]доп.

- если N>=0, то [N]доп = [N]пр = 0, a1 a2 a3 … am;

- если N<=0, то [N]доп = +0,0 0…1.

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

Например, число N = 0,1011, [N]доп = 0,1011.

Число N = - 0,1011, [N]доп = 1,0100. N = 0,0000; [N]доп = 10,0000 = 0,0000 (1 исчезает). Неоднозначности в изображении 0 нет.

Выполнение арифметических операций. Сложение двоичных чисел производится поразрядно на основании следующих правил:

(0)+(0)=(0) (0)+(1)=(1) (1)+(0)=1   (1)+(1)=(10)

результат последнего выражения (0), а (1) переносится в следующий разряд.

       Вычитание также производится по разрядам от младшего к старшему. При этом если из (0) вычитают (1), то результатом в этом разряде будет (1), а из следующего старшего разряда произойдет заем (1), т.е. цифра этого разряда станет на (1) меньше. Рассмотрим пример выполнения этих операций.

Сложение            100101       Вычитание          100101

                              +                                                    -

                              001011                                          001011

Результат            110000       Результат            011010

 

       Умножение двоичных чисел производится аналогично умножению десятичных с учетом следующих соотношений:

(0)x(0)=0   (0)x(1)=0   (1)x(0)=0   (1)x(1)=1

Множимое последовательно умножают на каждую цифру множителя, начиная с младшего разряда, и для учета веса соответствующей цифры множителя сдвигают влево на такое количество разрядов, на какое соответствующий разряд множителя сдвинут относительно младшего или старшего разряда.

                                          101

                                          х

                                           10

                                          -----

                                          000

                                +

                                   101

                                  -------

                                   1010

       Выполнение арифметических операций с использованием дополнительного кода. Рассмотрим пример сложения двух двоичных чисел, одно из которых является отрицательным числом. В этом случае, при использовании дополнительного кода, возможно заменить операцию вычитания операцией сложения. Например, при вычитании из числа 101102 (2210) числа 011012 (1310) уменьшаемое представляют в прямом коде 010110 (записывают впереди 0 как символ, обозначающий положительный знак числа). Вычитаемое представляют в дополнительном коде, сначала инвертировав цифры всех разрядов, кроме знакового (110010), а затем прибавляют единицу в младший разряд (110011). После этого выполняется операция сложения уменьшаемого (записанного в прямом коде) и вычитаемого (записанного в обратном коде).

                                          010110

                                          +

                                          110011

                                          ---------

                                          001001 (+910 = 2210 - 1310)

       При сложении, цифры знаковых разрядов складываются с отбрасыванием возникающего из этого разряда переноса. При умножении двоичных цифр с учетом их знаков необходимо получить две величины – определить знак произведения и найти абсолютную величину произведения. Знаковый разряд произведения получается суммированием цифр знаковых разрядов сомножителей по модулю 2, т.е.без формирования разряда переноса. При несовпадении складываемых цифр получается 1, что соответствует знаку произведения сомножителей, одно из которых меньше нуля. Абсолютная величина произведения определяется перемножением чисел без учета их знаковых разрядов.

 

3. Задания для выполнения практической работы.

3.1. Получить прямой код числа, указанного в табл. 2.1.

3.2. Получить обратный код числа, указанного в табл. 2.1.

3.3. Получить дополнительный код числа, указанного в табл. 2.1.

3.4. Выполнить операцию сложения двоичных чисел, указанных в табл. 2.1.

3.5. Выполнить операцию вычитания двоичных чисел, указанных в табл. 2.1.

3.6. Выполнить операцию умножения двоичных чисел, указанных в табл. 2.1.

3.7. Выполнить операцию вычитания двоичных чисел с использованием дополнительного кода, указанных в табл. 2.1.

3.8. Выполнить операцию умножения двоичных чисел с использованием дополнительного кода, указанных в табл. 2.1.

Оформление работы должно отражать и иллюстрировать принципы выполнения заданий.

 

4. Варианты заданий для практической работы (табл. 2.1).

Таблица 2.1. Варианты заданий.

№ п/п 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8
1 2 3 4 5 6 7 8 9
1 10010 11001 11001 11001 10010 11001 10010 10010 11001 01001 10010 10010 01001
2 11001 10001 10001 11001 10001 11001 10001 11001 10001 01001 10001 11001 00001
3 10101 10010 10010 10101 10010 10101 10010 10101 10010 00101 10010 00101 10010
1 2 3 4 5 6 7 8 9
4 10111 10000 10000 10111 10000 10111 10000 10111 10000 00111 10010 10111 00000
5 10001 11011 11011 11011 10001 11011 10001 10001 11011 01011 10001 00001 11011
6 10010 10001 10001 10010 10001 10010 10001 10010 10001 00010 10001 00010 10001
7 11001 11011 11011 11011 11001 11011 11001 11001 11011 01011 11001 11001 01011
8 11100 11110 11110 11110 11100 11110 11100 11100 11110 01110 11100 01100 11110
9 10101 10000 10000 10101 10000 10101 10000 10101 10000 00101 10010 10101 00000
10 10010 10111 10111 10111 10010 10111 10010 10010 10111 00111 10100 00010 10111
11 10001 10001 10001 10101 10001 10001 10001 10001 10001 01101 10101 10001 00001
12 11001 10111 10111 11001 10111 10111 11001 11001 10111 00111 10011 01001 10111
13 10110 10010 10010 10110 10010 10110 10010 10110 10010 00110 10010 10110 00010
14 11001 10010 10010 11001 10010 11001 10010 11001 10010 01001 10010 01001 10010
15 10111 10000 10111 10111 10000 10111 10000 10111 10000 00111 10011 00111 10000
16 10001 10011 10111 10111 10011 10111 10011 10011 10111 00111 10011 10011 00111
17 10111 10010 10010 10111 10010 10111 10010 10111 10010 00111 10010 10111 00010
18 11011 11101 11101 11101 11011 11101 11011 11011 11101 01101 11011 01011 11101
19 10011 10111 10011 10111 10011 10111 10011 10011 10111 00111 10011 10011 00111

 

5. Контрольные вопросы.

  1. Что называется прямым кодом числа?
  2. Что называется обратным кодом числа?
  3. Что называется дополнительным кодом числа?
  4. Приведите правила сложения двоичных чисел.
  5. Приведите правила вычитания двоичных чисел.
  6. Приведите правила умножения двоичных чисел.
  7. Приведите правила вычитания двоичных чисел с использованием дополнительного кода.
  8. Приведите правила умножения двоичных чисел с использованием дополнительного кода.

 


Дата добавления: 2021-01-21; просмотров: 149; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!