Сложение двоично-десятичных чисел - Конспект Лекций, раздел Компьютеры, ВЫЧИСЛИТЕЛЬНЫЕ МАШИНЫ (конспект лекций) ОДНОПРОЦЕССОРНЫЕ ЭВМ В Операции Сложения Двоично-Десятичных Чисел Участвуют Только Модули Чисел. П...
В операции сложения двоично-десятичных чисел участвуют только модули чисел. Поскольку код одноразрядных двоично-десятичных чисел полностью совпадает с их двоичным кодом, никаких проблем при выполнении операции сложения не возникает. Однако многоразрядные двоично-десятичные числа не совпадают с двоичными, поэтому при использовании двоичной арифметики получается результат, в который надо вводить коррекцию. Рассмотрим это подробнее.
Уже отмечалось, что каждая цифра десятичного числа может быть представлена кодом от 0000 до 1001, поэтому если при сложении разряда j двоично-десятичного числа результат меньше, либо равен 9, то коррекции не требуется, так как двоично-десятичный код результата полностью совпадает с его двоичным кодом.
Пример.
Zj=Xj+Yj = 3(10)+5(10), где j – номер разряда десятичного числа
Если при сложении j-разрядов чисел результат Zj будет больше или равен 10, то требуется коррекция результата. Рассмотрим, как машина может идентифицировать эту ситуацию. Существуют два варианта.
Вариант 1. Zj=10...15 = (1010...1111)
Здесь требуется коррекция, т.е. перенос 1 в старший (j+1) десятичный разряд. Необходимость коррекции в этом случае ЭВМ узнает по чисто формальным признакам:
Эту ситуацию можно описать логическим выражением:
Пример.
Zj=Xj+Yj = 5(10)+7(10) , где j – номер разряда десятичного числа.
Перенос из разряда j означает в десятичной системе счисления, что . В то же время в двоичной системе счисления перенос 1 из младшей тетрады в старшую означает, что . Следовательно, при коррекции имеет место соотношение
Zjкор = Zj - 10(10) + 16(10) = Zj + 6(10).
Тогда в рассмотренном выше примере
Вариант 2. Zj=16,17,18 = (8+8, 8+9, 9+9)
В этом случае из младшей тетрады в старшую происходит перенос 1 или 16(10). Но в десятичной системе счисления переносится в старший разряд только 10. Следовательно, для компенсации в младший разряд следует прибавить 6.
Пример.
Zj=Xj+Yj = 8(10)+9(10) = 17(10), где j – номер разряда десятичного числа.
Таким образом, можно сформулировать правило, по которому следует осуществлять коррекцию каждого десятичного разряда результата:
если при сложении многоразрядных двоично-десятичных чисел возник перенос из разряда или f=1, то этот разряд требует коррекции (прибавления 6(10)). При этом корректируются все тетрады последовательно, начиная с младшей.
Пример.
Z = X + Y = 927 + 382 = 1309.
При практической реализации двоично-десятичной арифметики поступают несколько по-другому.
Алгоритм выполнения операции состоит в следующем:
1. Одно из слагаемых представляется в коде с избытком 6, т.е. к каждой тетраде двоично-десятичного числа добавляется число 0110. Избыток не обязательно добавлять к одному из слагаемых. Его можно добавить к результату сложения обоих модулей.
2. Сложение двоично-десятичных модулей выполняется по правилам двоичной арифметики.
3. Если при сложении тетрад получается результат Zj больше или равный 10, то автоматически вырабатывается перенос в следующий разряд (тетраду), поскольку фактически Zj³16. В этом случае результат в данной тетраде получается в естественном двоично-десятичном коде 8421 и коррекции не требуется. Однако, если избыток добавлять к результату сложения модулей, а не к одному из слагаемых, то при выяснении необходимости коррекции следует учитывать переносы как при сложении модулей, так и при добавлении избытка.
4. Если при сложении в каких-либо тетрадах переносы отсутствуют, то для получения правильного результата из кодов этих тетрад необходимо вычесть избыток 6. Это можно сделать двумя способами:
· просто вычесть число 0110(2) = 6(10);
· сложить с дополнением до 16(10) , т.е. с числом 10(10) = 1010(2).
Возникшие при этом межтетрадные переносы не учитываются.
На практике реализуют второй способ.
Пример.
Z = X + Y = 132 + 57 = 189.
Перед сложением операнды выравниваются по крайней правой тетраде. Теперь надо к Z’ добавить избыток (6(10)):
Такой же результат получится, если с избытком +6 взять один из операндов (X или Y). Тогда к результату избыток прибавлять не нужно.
В данном примере при вычислении Z6’ не было переносов из каких-либо тетрад, поэтому необходима коррекция каждой тетрады суммы Z6’. Коррекция производится путем прибавления к каждой тетраде числа 10(10)= 1010(2):
Пример.
Z = X + Y = -93(10) - 48(10) = -(93+48)(10) = -141(10).
Перед сложением операнды выравниваются по крайней правой тетраде. После этого к Z необходимо добавить избыток (6(10)):
Такой же результат получится, если с избытком +6 взять один из операндов (X или Y). Тогда к результату избыток прибавлять нет необходимости. В данном примере из двух тетрад переносы существуют, поэтому необходима коррекция только старшей тетрады (из нее нет переноса):
Пример.
Z = X + Y = 99(10) + 99(10) = 198(10).
При сложении модулей возникли переносы. Добавим избыток:
При добавлении избытка 6 переносов не было, однако они имели место при сложении модулей. Их следует учитывать при оценке необходимости коррекции, поэтому, в данном случае, коррекция требуется только для старшей тетрады:
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ:
Сложение двоично-десятичных чисел
Что будем делать с полученным материалом:
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
ЧАСТЬ 1
Конспект лекций посвящен изучению основ организации и функционирования ЭВМ в целом и ее отдельных узлов, взаимодействия ЭВМ и периферийных устро
Немного истории
Считается, что первым механизмом для счета являлся абак, в котором сложение и вычитание чисел выполнялось перемещением камешков по желобам доски. Подобные устройства встречаются в разных вар
Принципы действия ЭВМ
Рассмотрим вначале вычисления с помощью калькулятора. Предварительно на листе бумаги выписываются формулы и исходные данные, а часто и таблицы для занесения промежуточных и конечных результатов. В
Поколения ЭВМ
Выше рассматривались три понятия: аппаратные средства, программное обеспечение и архитектура ЭВМ. Рассмотрим коротко этапы развития ЭВМ за последние 50 лет с точки зрения этих понятий, составляющих
Большие ЭВМ общего назначения
На первых этапах внедрения ЭВМ в деятельность человека решаемые задачи, в основном, можно было разделить на два больших класса:
- научные и технические расчеты – для них типичным яв
Малые ЭВМ
Наиболее массовое внедрение ЭВМ в деятельность человека началось тогда, когда в конце 60-х годов удалось построить небольшие, достаточно простые, надежные и дешевые вычислительные устройства, элеме
Позиционные системы счисления
Под системой счисления понимают способ представления любого числа с помощью некоторого алфавита символов, называемых цифрами. Существуют различные системы счисления. От их особенностей зависят нагл
Двоичная система счисления
В двоичной системе счисления основание S = 2, т.е. используются всего два символа: 0 и 1. Двоичная система счисления проще десятичной. Однако двоичное изображение числа требует большего (для многор
Преобразование десятичных чисел в двоичные
При работе с ЭВМ, особенно с микропроцессорами, очень часто приходится выполнять преобразование десятичных чисел в двоичные.
Для преобразования целого десятичного числа в двоичное необходи
Двоично-десятичная система счисления
Эта система имеет основание S = 10, но каждая цифра изображается четырехразрядным двоичным числом, называемым тетрадой. Обычно данная система счисления используется в ЭВМ при вводе и выводе информа
Восьмеричная система счисления
В восьмеричной системе счисления употребляются всего восемь цифр, т.е. эта система счисления имеет основание S = 8. В общем виде восьмеричное число выглядит следующим образом:
Шестнадцатеричная система счисления
Эта система счисления имеет основание S = 16. В общем виде шестнадцатеричное число выглядит следующим образом:
,
Умножение
Как и в десятичной системе счисления, операция перемножения двоичных многоразрядных чисел производится путем образования частичных произведений и последующего их суммирования. Частичные произведени
Деление
Деление – операция, обратная умножению, поэтому при делении двоичных чисел, так же как и в десятичной системе счисления, операция вычитания повторяется до тех пор, пока уменьшаемое не станет меньше
Прямой, обратный и дополнительный коды
В целях упрощения выполнения арифметических операций и определения знака результата применяют специальные коды для представления чисел. Операция вычитания (или алгебраического сложе
Прямой код
Это обычный двоичный код, рассмотренный в разделе двоичной системы счисления. Если двоичное число является положительным, то бит знака равен 0, если двоичное число отрицательное, то бит знака равен
Обратный код
В обратном коде (ОК), так же как и в прямом коде, для обозначения знака положительного числа используется бит, равный нулю, и знака отрицательного – единица. Обратный код отрицательного двоичного ч
Дополнительный код
Дополнительный код (ДК) строится следующим образом. Сначала формируется обратный код (ОК), а затем к младшему разряду (МЗР) добавляют 1. При выполнении арифметических операций положительные числа п
Сложение и вычитание в дополнительном коде
При выполнении арифметических операций в современных ЭВМ используется представление положительных чисел в прямом коде (ПК), а отрицательных – в обратном (ОК) или в дополнительном (ДК) кодах. Это мо
Признак переполнения разрядной сетки
При алгебраическом суммировании двух чисел, помещающихся в разрядную сетку, может возникнуть переполнение, т.е. образуется сумма, требующая для своего представления на один двоичный разряд больше,
Правило перевода из дополнительного кода в десятичную систему
Перевод чисел из дополнительного кода в десятичную систему можно проводить по схеме, приведенной на рис. 2.5.
Однако существует прямой способ перевода числа из ДК в десятичную систему без
Арифметика повышенной точности
Проблема точности возникает, как правило, при работе с микро- и миниЭВМ, имеющих небольшую длину машинного слова (1-2 байта). Рассмотрим микропроцессор, работающий со словами длины 1 байт. Этот фор
Числа с фиксированной запятой
Первые ЭВМ были машинами с фиксированной запятой, причем запятая фиксировалась перед старшим разрядом. В настоящее время форму ЧФЗ, как правило, применяют для представления целых чисел (запятая фик
Числа с плавающей запятой
Представление чисел в виде ЧПЗ позволяет избавиться от операции масштабирования при вычислениях, поскольку диапазон представляемых чисел существенно расширяется по сравнению с ЧФЗ. Однако в большин
Сложение (вычитание) ЧПЗ
Требуется вычислить Z=X±Y при условии, что |X|³|Y|. Формальное выражение для выполнения этой операции можно записать следующим образом:
Умножение ЧПЗ
Требуется вычислить . Формальное выражение для выполнения этой операции можно записать следующим образом:
Z=X*
Методы ускорения умножения
Рассмотренный в предыдущей теме материал показывает, что умножение – это достаточно длинная операция, состоящая из N суммирований и сдвигов, а также выделений очередных цифр множителя.
Из
Десятичная арифметика
Необходимый перевод для ЭВМ десятичных чисел в двоичные и обратно требует затраты времени и ресурсов. В цифровых устройствах, где основная часть операций связана не с обработкой и хранением информа
Вычитание модулей двоично-десятичных чисел
По аналогии с операциями вычитания в двоичном коде операцию X-Y можно представить как X + (-Y). При этом отрицательное число представляется в дополнительном коде, аналогичном дополнительному коду в
Умножение модулей двоично-десятичных чисел
Операция умножения сводится к образованию и многократному сложению частичных двоично-десятичных произведений.
Алгоритм выполнения операции состоит в следующем:
1.
Нарушение ограничений ЭВМ
При выполнении арифметических операций возможны ситуации, когда нарушаются ограничения, связанные с конечной длиной разрядной сетки ЭВМ. При этом в ЭВМ формируются признаки соответственно:
Представление буквенно-цифровой информации
По своей природе компьютеры могут работать лишь с числами. И для того чтобы они могли хранить в памяти и обрабатывать буквы или другие символы, каждому из них должно быть поставлено в соответствие
Библиографический сисок
1. Искусство программирования. Т.1. Основные алгоритмы. 3-е изд., испр. и доп. / Д. Кнут; Под ред. Ю.В. Козаченко М.; СПб.; Киев: ВИЛЬЯМС, 2000. 729 с.
2. Искусство программирования. Т.2:
Форма 2. Выполнение арифметических операций над числами
1. Все действия, производимые над операндами и результатами, включая перевод чисел из одной системы счисления в другую, должны быть подробно расписаны в соответствии с алгоритмами, рассмотренными
Принципы построения элементарного процессора
Ранее, при рассмотрении обобщенной структуры ЭВМ, отмечалось, что основным устройством, непосредственно осуществляющим переработку поступающей в ЭВМ информации, является процессор (в больших ЭВМ –
Операционные устройства (АЛУ)
В разделе "Представление информации в ЭВМ" было показано, что различные арифметические операции над числами (представленными, кроме, того в различной кодировке) требуют существенно различ
Управляющие устройства
Выше отмечалось, что УУ (рис. 3.5) управляет работой АЛУ путем выработки последовательности микрокоманд, необходимых для выполнения той или иной операции (+, -, /, * и т.д.). Порядок выполнения мик
УУ с жесткой логикой
УУ, построенные на жесткой логике (рис. 3.6), исторически появились первыми. Основным преимуществом таких УУ является их быстродействие. Именно поэтому абсолютное большинство специализированных пр
УУ с хранимой в памяти логикой
Идея создания микропрограммного УУ возникла давно, в 1951г., но реализовать ее в полном объеме удалось сравнительно недавно – с появлением компактных устройств памяти на БИС. Обобщенная стру
Выборка и выполнение МК
Возможны три варианта взаимного расположения циклов выборка-реализация.
Последовательный способ (рис. 3.9, а).
В этом случае выборка следующей МКi+1 не инициируе
Кодирование МК
Выбор способа кодирования микрокоманд представляет собой достаточно сложную задачу и зависит от структуры процессора и его целевого назначения, системы команд, быстродействия и т.д. Рассмотрим толь
Синхронизация МК
С этой точки зрения МК делятся на однофазные и многофазные. При этом в МК может быть включен дополнительный разряд, определяющий тип синхронизации.
Достоинством однофазных МК (рис.
Хотите получать на электронную почту самые свежие новости?
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Новости и инфо для студентов