Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Машинные операции с двоичными числами




 

Арифметические действия над целыми числами

Обратный и дополнительный коды применяются особенно широко, так как позволяют упростить конструкцию арифметико-логического устройства (АЛУ) компьютера путем замены некоторых арифметических операций сложением.

Обычно десятичные числа при вводе в машину автоматически преобразуются в двоичный код (целые без знака), обратный или дополнительный код (целые со знаком) и в таком виде хранятся, перемещаются и участвуют в операциях. При выводе результатов из машины происходит обратное преобразование в десятичные числа.

 

Сложение и вычитание чисел без знака

Сложение и вычитание беззнаковых чисел происходит по обычным для позиционных систем счисления алгоритмам.

Пример

 

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

 

Сложение и вычитание чисел со знаком в обратном коде

Сложение в обратном коде происходит следующим образом: по обычному алгоритму складываются все разряды, включая знаковый. Результат такого сложения для k-разрядных наборов имеет длину k +1 (самый левый разряд результата равен единице, если был перенос при сложении старших разрядов операндов, иначе – нулю).

Значение левого k +1-го разряда добавляется к младшему разряду результата. Получаем k-разрядный набор, который и будет суммой двух чисел в обратном коде.

Пример

 

Вычитание чисел в обратном коде x – y сводится к сложению x+(–y).

 

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

В дополнительном коде сложение происходит так:

  1. по обычному алгоритму складываются все разряды, включая знаковый;
  2. единица переноса в k +1 разряд отбрасывается (т.е. сложение по модулю 2k)

Пример

 

При вычитании тоже действует обычный алгоритм, причем если уменьшаемое меньше вычитаемого, к двоичному коду уменьшаемого слева приписывается единица (т.е. добавляется 2k) и только после этого производится вычитание (такой способ называется вычитание по модулю 2k).

Пример

 

Умножение и деление

Во многих компьютерах умножение производится как последовательность сложений и сдвигов. Для этого в АЛУ имеется регистр, называемый накапливающим сумматором, который до начала выполнения операции содержит число ноль. В процессе выполнения операции в нем поочередно размещаются множимое и результаты промежуточных сложений, а по завершении операции — окончательный результат. Другой регистр АЛУ, участвующий в выполнении этой операции, вначале содержит множитель. Затем по мере выполнения сложений содержащееся в нем число уменьшается, пока не достигнет нулевого значения.

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

 





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


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 2280 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

80% успеха - это появиться в нужном месте в нужное время. © Вуди Аллен
==> читать все изречения...

2227 - | 2095 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.01 с.