Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие Курс лекций по информатике (Гур....doc
Скачиваний:
17
Добавлен:
08.11.2018
Размер:
591.87 Кб
Скачать
  1. Двоичная арифметика

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

0+0=0 0*0=0

0+1=1 0*1=0

1+0=1 1*0=0

1+1=10 1*1=1

Сложение сводится к нахождению знака и численного значения суммы.

Сложение чисел в прямом коде

N=+10 N=01010

N=+3 N=00011

01101=+13

Суммирование начинается с младшего разряда. В младшем разряде суммируются только 2 цифры,

в остальных суммируются 3 цифры: одна цифра переноса и 2 цифры слагаемых.

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

Сложение чисел в дополнительном коде

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

N=+10 N=01010

N= -7 N=10111

N=11000 -ИНВЕРТИРУЕМ

+ 1

11001

N=11001

N=01010

1 00011=+3

Если сумма получилась “+”, то возникающий при суммировании перенос из знакового разряда отбрасывается. Сумма является положительным числом, а значит, представлена в прямом коде.

N= -10 N=11010

N= +7 N=00111

N=10101 -ИНВЕРТИРУЕМ

+ 1

10110

N=10110

+ N=00111

11101

10010 -ИНВЕРТИРУЕМ

+ 1

10011= -3

Если результирующая сумма получилась отрицательной, то это говорит о том, что эта сумма представлена в дополнительном коде, и её надо преобразовать в прямой код. Преобразование из дополнительного кода в прямой код осуществляется, как и при преобразовании чисел из прямого кода в дополнительный (все разряды кроме знакового инвертируются, и в младший разряд прибавляется “1”).

Суммирование чисел с использованием обратного кода

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

N=+10 N=01010

N= -7 N=10111

N=11000

N=01010

1 00010

00011=+3

Если при суммировании сумма получилась “+”, то “1” переноса из знакового разряда прибавляется к младшему разряду суммы.

N= -10 N=11010

N= +7 N=00111

N=11010

10101 -ИНВЕРТИРУЕМ

+ N=00111

11100

10011-ИНВЕРТИРУЕМ= -3

Если сумма получилась “-“, то это говорит о том, что она представлена в обратном коде и ее надо перевести в прямой. Все разряды кроме знакового инвертируются.