Операция сложения и вычитания двоичных знаковых чисел в компьютерных системах - Компьютерная арифметика
При сложении и вычитании знаковых двоичных чисел операция вычитания заменяется операцией сложения в дополнительном коде.
Докажем, что результат выполнения операций сложения и вычитания над числами, представленными в ДК, являются ПК, ОК или ДК соответственно.
Для этого рассмотрим отдельно формирование числовой и знаковой частей суммы.
Тогда операцию сложения проанализируем над "псевдомодулями" слагаемых - дополнительными кодами, у которых отброшен знаковый разряд.
В этом случае граничное число (C) станет равным весу знакового разряда, который становится отсутствующим.
Представим операцию сложения в общем виде:
. (4.1)
Где Z - сумма;
X - первое слагаемое;
Y - второе слагаемое.
В зависимости от знаков слагаемых возможны следующие варианты:
1. , тогда:
.
Например: рассмотрим два случая а) и б).
Случай а): необходимо вычислить сумму двух чисел записанных в десятичной системе счисления (5+2=7), для этого необходимо оба числа перевести в двоичную систему счисления, а затем представить в дополнительном коде, для удобства возьмем длину разрядной сетки четыре бита. Формат суммы представлен на рис. 4.6, а вычисление суммы и значения флагов на рис.4.7.
0, |
1 |
1 |
1 |
D3 |
D2 |
D1 |
D0 |
Рисунок 4.6 - Формат суммы
Случай а) | ||
Десятичное Число |
Двоичное Число |
Значения Флагов |
5(10) |
0,101(2) |
FC=0 |
2(10) |
0,010(2) |
FS=0 |
7(10) |
0,111(2) |
FZ=0 |
FO=0 |
Рисунок 4.7 - Пример вычисления суммы двух чисел и значение флагов после получения результата
Значение флагов:
- - FC=0, потому, что нет перехода (1) из разряда D2 в знаковый разряд D3 и нет перехода из знакового разряда D3 за пределы разрядной сетки. - FS=0, потому, что значение знакового бита D3=0. - FZ=0, потому, что сумма не равняется (0). - FO=0, потому, что результат правильный и переполнение разрядной сетки нет.
Случай б): необходимо сложить два числа записанных в десятичной системе счисления (7+7=14), для этого необходимо оба числа перевести в двоичную систему счисления, а затем представить в дополнительном коде, для удобства возьмем длину разрядной сетки четыре бита.
Формат суммы представлен на рис. 4.8, а вычисление суммы и значения флагов на рис.4.9.
1, |
1 |
1 |
0 |
D3 |
D2 |
D1 |
D0 |
Рисунок 4.8 - Формат суммы
Случай б) | ||
Десятичное Число |
Двоичное Число |
Значения Флагов |
7(10) |
0,111(2) |
FC=1 |
7(10) |
0,111(2) |
FS=1 |
14(10) |
1,110(2) |
FZ=0 |
FO=1 |
Рисунок 4.9 - Пример вычисления суммы двух чисел и значение флагов после получения результата
Значение флагов:
- - FC=1, потому, что есть перехода (1) из разряда D2 в знаковый разряд D3 и нет перехода из знакового разряда D3 за пределы разрядной сетки. - FS=1, потому, что значение знакового бита D3=1, а это не правильно так как оба слагаемых положительные числа, значит и сумма должна быть положительной, а в данном случае сумма получается отрицательной так как знаковый бит равен (1). - FZ=0, потому, что сумма не равняется (0). - FO=1, потому, что результат не правильный и переполнение разрядной сетки есть. 2. и, тогда:
.
Например: необходимо сложить два числа записанных в десятичной системе счисления (5+(-2)=3), для этого необходимо оба числа перевести в двоичную систему счисления, а затем представить в дополнительном коде, для удобства возьмем длину разрядной сетки четыре бита.
Формат суммы представлен на рис. 4.10, а вычисление суммы и значения флагов на рис.4.11.
1 |
0, |
0 |
1 |
1 |
D3 |
D2 |
D1 |
D0 |
Рисунок 4.10 - Формат суммы
Десятичное Число |
Двоичное Число |
Значения Флагов |
5(10) |
0,101(2) |
FC=0 |
(-2)(10) |
1,110(2) |
FS=0 |
(3)(10) |
10,011(2) |
FZ=0 |
FO=0 |
Рисунок 4.11 - Пример вычисления суммы двух чисел и значение флагов после получения результата
Значение флагов:
- - FC=0, потому, что есть перехода (1) из разряда D2 в знаковый разряд D3 и есть перехода из знакового разряда D3 за пределы разрядной сетки. - FS=0, потому, что значение знакового бита D3=0. - FZ=0, потому, что сумма не равняется (0). - FO=0, потому, что результат правильный и переполнение разрядной сетки нет. Единица, которая вышла за пределы разрядной сетки не учитывается. 3. и, тогда: , по сути, представляет собой дополнительный код отрицательной разности:
. так как
.
Например: необходимо сложить два числа записанных в десятичной системе счисления (2+(-5)=(-3)), для этого необходимо оба числа перевести в двоичную систему счисления, а затем представить в дополнительном коде, для удобства возьмем длину разрядной сетки четыре бита.
Формат суммы представлен на рис. 4.12, , а вычисление суммы и значения флагов на рис.4.13.
1 |
0, |
0 |
1 |
1 |
D3 |
D2 |
D1 |
D0 |
Рисунок 4.12 - Формат суммы
Десятичное Число |
Двоичное Число |
Значения Флагов |
2(10) |
0,010(2) |
FC=0 |
(-5)(10) |
1,011(2) |
FS=1 |
(-3)(10) |
1,101(2) |
FZ=0 |
FO=0 |
Рисунок 4.13 - Пример вычисления суммы двух чисел и значение флагов после получения результата
Значение флагов:
- - FC=0, потому, что нет перехода (1) из разряда D2 в знаковый разряд D3 и нет перехода из знакового разряда D3 за пределы разрядной сетки. - FS=1, потому, что значение знакового бита D3=1. - FZ=0, потому, что сумма не равняется (0). - FO=0, потому, что результат правильный и переполнение разрядной сетки нет. Число 1,101 и есть (-3). Для того, чтобы перейти к прямому коду необходимо все биты проинвертировать, а затем к младшему биту прибавить (1), рис.4.14:
1,101(2) |
(-3) |
0,010(2) |
Инверсия |
1(2) |
+1 |
0,011(2) |
(+3) |
Рисунок 4.14 - Пример перехода от дополнительного кода числа к прямому коду
4. , тогда:
.
Например: рассмотрим два случая а) и б).
Случай а): необходимо сложить два числа записанных в десятичной системе счисления ((-5)+(-2)=(-7)), для этого необходимо оба числа перевести в двоичную систему счисления, а затем представить в дополнительном коде, для удобства возьмем длину разрядной сетки четыре бита. Формат суммы представлен на рис. 4.15, а вычисление суммы и значения флагов на рис.4.16.
1 |
1, |
0 |
0 |
1 |
D3 |
D2 |
D1 |
D0 |
Рисунок 4.15 - Формат суммы
Случай а) | ||
Десятичное число |
Двоичное число |
Значения флагов |
(-5)(10) |
1,011(2) |
FC=0 |
(-2)(10) |
1,110(2) |
FS=1 |
(-7)(10) |
11,001(2) |
FZ=0 |
FO=0 |
Рисунок 4.16 - Пример вычисления суммы двух чисел и значение флагов после получения результата
Значение флагов:
- - FC=0, потому, что есть переход (1) из разряда D2 в знаковый разряд D3 и есть перехода из знакового разряда D3 за пределы разрядной сетки. - FS=1, потому, что значение знакового бита D3=1. - FZ=0, потому, что сумма не равняется (0). - FO=0, потому, что результат правильный и переполнение разрядной сетки нет. Единица, которая вышла за пределы разрядной сетки не учитывается.
Число 1,001 и есть (-7). Для того, чтобы перейти к прямому коду необходимо все биты проинвертировать, а затем к младшему биту прибавить (1), рис.4.17.
Случай б): Необходимо сложить два числа записанных в десятичной системе счисления ((-7)+(-7)=(-14)), для этого необходимо оба числа перевести в двоичную систему счисления, а затем представить в дополнительном коде, для удобства возьмем длину разрядной сетки четыре бита.
Формат суммы представлен на рис. 4.18, а вычисление суммы и значения флагов на рис.4.19.
1,001(2) |
(-7) |
0,110(2) |
Инверсия |
1(2) |
+1 |
0,111(2) |
(+7) |
Рисунок 4.17 - Пример перехода от дополнительного кода числа к прямому коду
1 |
0, |
0 |
1 |
0 |
D3 |
D2 |
D1 |
D0 |
Рисунок 4.18 - Формат суммы
Случай б) | ||
Десятичное Число |
Двоичное Число |
Значения Флагов |
(-7)(10) |
1,001(2) |
FC=1 |
(-7)(10) |
1,001(2) |
FS=0 |
(-14)(10) |
10,010(2) |
FZ=0 |
FO=1 |
Рисунок 4.19 - Пример вычисления суммы двух чисел и значение флагов после получения результата
Значение флагов:
- - FC=1, потому, что нет перехода (1) из разряда D2 в знаковый разряд D3 и есть переход из знакового разряда D3 за пределы разрядной сетки. - FS=0, потому, что значение знакового бита D3=0, а это не правильно так как оба слагаемых отрицательные числа, значит и сумма должна быть отрицательные, а в данном случае сумма получается положительной так как знаковый бит равен (0). - FZ=0, потому, что сумма не равняется (0). - FO=1, потому, что результат не правильный и переполнение разрядной сетки есть. Единица, которая вышла за пределы разрядной сетки не учитывается.
Из вышесказанного на примере (4Х - разрядной) сетки можно сделать следующие выводы:
- - переполнение разрядной сетки возможно, когда оба операнда имеют одинаковые знаки; - есть переход (1) из разряда D2 в знаковый разряд D3 и нет перехода из знакового разряда D3 за пределы разрядной сетки. - нет перехода (1) из разряда D2 в знаковый разряд D3 и есть переход из знакового разряда D3 за пределы разрядной сетки.
При возникновении ситуации переполнения, увеличивается количество бит в разрядной сетке и результат становится правильным.
Похожие статьи
-
Операция сложения и вычитания, двоичных беззнаковых чисел в компьютерных системах Компьютерная система выполняет сложение и вычитание операндов по...
-
Контроль переполнения в компьютерных системах - Компьютерная арифметика
Возможно только при сложении чисел с одинаковыми знаками, когда для представления результата недостаточно отведенного количество разрядов (требуется...
-
Он позволяет заменить операцию вычитания на операцию сложения, чем упрощает архитектуру компьютерной системы. Дополнительный код является дополнением...
-
Представление числовых данных в компьютерных системах - Компьютерная арифметика
Компьютерный арифметика счисление двоичный Система вещественных чисел, используемая в ручных расчетах, предполагается бесконечной и непрерывной, т. е....
-
Перевод чисел из одной позиционной системы счисления в другую - Компьютерная арифметика
Задача перевода чисел из одной позиционной системы счисления в другую является одной из главных в компьютерной арифметике. Ее можно сформулировать...
-
Системы счисления - Компьютерная арифметика
Как было отмечено в первой главе Система счисления - совокупность приемов и правил для установления однозначного соответствия между любым числом и его...
-
Классификация систем счисления - Компьютерная арифметика
В настоящее время различают Позиционные И Непозиционные системы счисления. Классификация систем счисления приведена на рис. 2.1. Рисунок 2.1 --...
-
Арифметические операции в двоичной системе счисления Умножение в двоичной системе счисления = поразрядные сдвиги + суммирование Основные форматы хранения...
-
Собственные числа и собственные векторы матрицы Предположим, что среди бесконечного множества одномерных пространств R1 найдутся такие, которые будут...
-
10 2 4 8 16 0 0 0 0 0 1 1 1 1 1 2 10 2 2 2 3 11 3 3 3 4 100 10 4 4 5 101 11 5 5 6 110 12 6 6 7 111 13 7 7 8 1000 20 10 8 9 1001 21 11 9 10 1010 22 12 A...
-
Следующая группа символьных операций выполняется с выражениями, требующими указания переменной, по отношению к которой выполняется операция. Для этого...
-
Для поддержания компьютерной системы 1С:Библиотека в исправном состоянии необходимо осуществлять мероприятия в соответствии с типовой системой...
-
ДД-код Константа16 ДД-код Константа16 1111 1111 FF 0000 0000 00 0011 0101 35 1111 0100 F4 0101 0111 57 1001 1010 9A 1000 1101 8D 0000 0111 07 1000 0000...
-
Системы счисления. Представление данных в ЭВМ - Основы программирования
В современном мире для записи числовой информации используют позиционные системы счисления, в которых числа записываются с помощью ограниченного...
-
Пользовательский интерфейс информационно-справочной системы реализован следующим образом: 1. Главное окно приложения содержит главное меню и кнопки...
-
Рассмотрим замкнутую сеть массового обслуживания с разнотипными заявками, которая является вероятностной моделью обслуживания заявок в УП "Проектный...
-
Операционная система Windows - Программное обеспечение информационных компьютерных систем
Само название Windows, на русском языке означает "Окна" и имеет в нашем языке синонимы Виндовс, Вундоуз и другие производные полученные после перевода....
-
Базовые понятия и определения компьютерной арифметики - Компьютерная арифметика
Компьютерная арифметика - совокупность принципов и форм представления числовой информации, методов и алгоритмов выполнения арифметических операций и...
-
Подбор посадок на операционной системе Android
ПОДБОР ПОСАДОК НА ОПЕРАЦИОННОЙ СИСТЕМЕ ANDROID Кадочников Владимир Викторович Студент Политехнического Института Сибирского Федерального Университета,...
-
Арифметические флажки - Компьютерная арифметика
Флажки являются признаками, представляющими общую характеристику результата выполнения операции. Наиболее широко применяются следующие флажки: - Флажок...
-
Вся информация, которую обрабатывает компьютер, должна быть представлена двоичным кодом с помощью двух цифр -- 0 и 1. Эти два символа принято называть...
-
Назначение программы Назначение программной системы - реализация задач допускового проектирования. Компонент обеспечивает соответствующий функционал: -...
-
Виды технического обслуживания СВТ Вид технического обслуживания определяется периодичностью и комплексом технологических операций по поддержанию...
-
Машинная арифметика с плавающей точкой - Представление и хранение информациии в ЭВМ
Число с плавающей точкой: X=±Mx-S±px Здесь: M - мантисса; S - порядок. 0.314 101 0.0314 102 Машинные числа. Машинными называются числа, допускающие...
-
При обслуживании пассажиров в кассах предварительной продажи билетов в качестве показателей, характеризующих систему обслуживания, используют максимально...
-
Основные термины теории баз данных - БД (База данных) - совокупность специальным образом организованных данных, хранимых в памяти вычислительной системы...
-
Типы данных и команды SQL - Разработка информационной системы "Магазин компьютерных товаров"
Microsoft SQL Server поддерживает большинство типов данных SQL 2003. Также SQL Server поддерживает дополнительные типы данных, используемые для...
-
Среди бурно развивающихся систем компьютерной математики СКМ, в первую очередь ориентированных на численные расчеты, особо выделяется матричная...
-
В настоящей главе будет произведен разбор частного случая задачи оптимальной фильтрации. На примере будет разобран ход построения алгоритма, будут...
-
Расчет аналогового корректирующего устройства Для коррекции в системе применяется корректирующее устройство (КУ) последовательного типа. КУ можно...
-
Построим ЛАЧХ САУ скорости вращения ножей кофемолки. Для этого разомкнем структурную схему по главной обратной связи. Рисунок 8 - Структурная схема...
-
Блок OVRDSEL принимает до четырех входов (от первичных блоков) и выбирает один с наибольшим или наименьшим значением. Графически это выглядит следующим...
-
ОБЗОР АНАЛОГОВ - Разработка автоматизированной системы учета материальных ценностей "АС УМЦ"
Рассмотрим следующие системы учета материальных ценностей, существующие на рынке: Microsoft Excel -- офисная программа для работы с электронными...
-
Нормализация Базы Данных - Разработка информационной системы "Магазин компьютерных товаров"
Результатом работы с АИС магазина компьютерных товаров является чек, который оформляет продавец. В этом чеке должна содержаться информация о количестве...
-
Программное обеспечение и его виды - Программное обеспечение информационных компьютерных систем
Windows программный компьютер операционный Программное обеспечение (software) - это набор команд, управляющих работой компьютера. Без программного...
-
Назначение программы Программное средство на тему "Калькулятор коммунальных услуг" предназначено для повышения эффективности расчета коммунальных...
-
История развития экспертных систем., Основные линии развития ЭС. - Экспертные системы
Основные линии развития ЭС. Наиболее известные ЭС, разработанные в 60-70-х годах, стали в своих областях уже классическими. По происхождению, предметным...
-
Компромиссная система, для удобства восприятия данных человеком и корректной работы компьютера, двоично-десятичная запись чисел. Принцип построения этой...
-
Для проверки соответствия требованиям ТЗ, была поставлена задача разработки 3-D модели корпуса Kyocera KD-PB1D79 при помощи системы AutoCAD. В этой части...
-
Аннотация Статья посвящена исследованию и оценке времени обслуживания операций обмена в многопроцессорных системах с разделяемой памятью, синтеза и...
Операция сложения и вычитания двоичных знаковых чисел в компьютерных системах - Компьютерная арифметика