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

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

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

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

Однако при работе с арифметикой повышенной точности требуется большой объем памяти для хранения данных и более интенсивная работа МП.

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

Пусть например, необходимо использовать арифметику тройной точности в 8-разрядной вычислительной системе. После сложения двух байтов результат записывают в память, а возможные при этом переносы подлежат временному хранению.

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

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

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

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

Прямой, обратный и дополнительный код числа

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

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

Это достигается благодаря использованию представления десятичных дробей в нормализованном виде, то есть в виде мантиссы, диапазон значений которой от 0,1 до 1, и порядка - показателя степени числа Записывается мантисса со знаком и порядок со знаком. Рассмотрим микропроцессор, работающий со словами длины 1 байт. Этот формат позволяет представить целые числа в диапазоне от до Очевидно, что для решения большинства задач такого диапазона чисел недостаточно.

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

Использование двух однобайтовых слов 16 бит позволяет представить уже числа в диапазоне от до Это так называемые числа с двойной точностью. Иногда используются числа тройной точности 1 бит — знак и 23 бита для модуля числа. Однако при работе с арифметикой повышенной точности требуется больший объем памяти для хранения того же объема данных и более интенсивная работа процессора. Увеличение объема требуемой памяти достаточно очевидно. Рассмотрим очень коротко последовательность операций при сложении чисел с тройной точностью.

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

После сложения результат записывается в память, а возможные при этом переносы подлежат временному хранению.

Сложение чисел в обратном и дополнительном кодах - презентация онлайн

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

Кроме того, в случае возникновения прерываний необходимо временно хранить содержимое регистра переносов то же самое для вычитания, умножения и деления. Представление дробных чисел в ЭВМ.

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