Арифметические операции над числовыми данными BCD - кодов - Компьютерная арифметика
Сложение и вычитание десятичных двоично-кодированных операндов может быть реализовано на основе тех же принципов, что и двоичных операндов с учетом лишь особенностей суммирования десятичных цифр в двоичном их представлении:
- - правила формирования десятичного переноса отличаются от правил формирования двоичного переноса; - сумма двоичных кодов десятичных цифр, полученная по правилам двоичной арифметики, не всегда равна их сумме, полученной по десятичным правилам.
По этим причинам при использовании ДДК, обладающих свойством аддитивности, суммирование десятичных цифр в двоичном представлении проводят в два этапа:
- 1) суммируют двоичные представления десятичных цифр по правилам двоичной арифметики; 2) проводят коррекцию предыдущего результата путем прибавления или вычитания некоторой поправки для образования правильного представления десятичной цифры и десятичного переноса в старший десятичный разряд.
Если же ДДК не обладает свойством аддитивности, то сначала выполняют преобразование цифр слагаемых в ДДК, обладающий таким свойством, далее суммируют цифры в аддитивном ДДК, а затем результат суммирования подвергают обратному преобразованию.
Рассмотрим, как можно определить корректирующую поправку и правильно сформировать перенос в старший десятичный разряд для ДДК "8,4,2,1". Для этого составим таблицу двоичных сумм, их представлений после первого этапа сложения, правильных их представлений в ДДК "8,4,2,1" десятичных переносов и корректирующих поправок (табл. 6.3).
Таблица 6.3 - Таблица двоичных сумм после первого этапа сложения
Десятичная Сумма |
Сумма после Первого этапа S5S4S3S2S1 |
Правильная Сумма Pz4Z3Z2Z1 |
Коррекция С5С4С3С2С1 |
|
|
|
|
Из таблицы видно, что если результат, полученный на первом этапе, находится в пределах от 0 до 9, то корректировать его нет необходимости, а двоичный и десятичный перенос в этом случае совпадают. Если же результат первого этапа находится в пределах от 10 до 19, то для образования правильной суммы (pz4Z3Z2Z1) к предварительной сумме (s5S4S3S2S1) необходимо прибавить корректирующую поправку (00110). Признаком нахождения суммы первого этапа в диапазоне от 10 до 19 может служить наличие единичного значения переноса p. Таким образом, если при прибавлении коррекции перенос (р=0), то как правильную сумму необходимо взять результат первого этапа, если же (p=l), то как правильную сумму необходимо взять откорректированный результат.
При сложении или вычитании многоразрядных десятичных операндов описанные действия должны выполняться по каждому десятичному разряду (в ДДК "8,4,2,1" - по каждой тетраде двоичных разрядов).
Умножение чисел в десятичной системе счисления с двоично-кодированным представлением цифр может быть реализовано на тех же принципах, что и в двоичной системе, то есть, имеется четыре основных алгоритма десятичного умножения, каждый из которых имеет свои преимущества и недостатки, аналогичные, в целом, преимуществам и недостаткам соответствующих алгоритмов двоичного умножения. Особенности же десятичного умножения состоят в следующем:
- - результат умножения двух двоичных цифр представляется только одной цифрой произведения с весом, равным произведению весов цифр сомножителей; в отличие же от этого, результат умножения двух десятичных цифр будет представлен двумя цифрами - цифрой собственно произведения и с весом, равным произведению весов цифр сомножителей, и цифрой переноса q в разряде с весом, на единицу большим произведения весов цифр сомножителей; - суммирование частичных произведений должно осуществляться по правилам десятичной арифметики (то есть, используются для этого десятичные сумматоры); - сдвиг в регистрах осуществляется одновременно на один десятичный разряд; - на каждом шаге умножения осуществляется столько суммирований множимого с суммой частичных произведений, сколько единиц содержится в очередной цифре множителя.
Для учета особенности при умножении с младших разрядов или при умножении со старших разрядов десятичный разряд регистра множителя снабжают цепями вычитания единиц и в каждом такте суммирования цифру в этом разряде уменьшают на единицу. Такты суммирования производят до тех пор, пока в десятичном разряде, управляющем умножением, не будет получен нуль. Если для представления десятичных цифр используется ДДК "8,4,2,1", то указанный десятичный разряд выполняют в виде счетчика.
При умножении по этому алгоритму на один разряд множителя в среднем приходится 4,5 тактов суммирования (предполагаем, что цифры 0,1,...,9 появляются во всех разрядах множителя с равными вероятностями).
Деление десятичных чисел в компьютерных системах, как и двоичных чисел, можно выполнять по двум основным алгоритмам: с восстановлением остатка и без восстановления остатка. Реализация первого алгоритма требует несколько больших временных затрат (примерно на 12...17%) по сравнению со вторым.
В соответствии с этим алгоритмом сдвиг выполняется на один десятичный разряд, все суммирования и вычитания, а также формирование обратного и дополнительного кодов (в случае использования их для вычитания) должны выполняться по правилам десятичной арифметики. На каждый шаг деления здесь приходится несколько суммирований-вычитаний.
Для ускорения операции десятичного деления необходимо, в первую очередь, уменьшать число суммирований и вычитаний, выполняемых для получения одной цифры частного.
Похожие статьи
-
Представление числовых данных в коде BCD - Компьютерная арифметика
Наиболее широкое применение в компьютерной технике получили двоично-десятичные системы счисления, в которых десятичные цифры записываются как...
-
При сложении и вычитании знаковых двоичных чисел операция вычитания заменяется операцией сложения в дополнительном коде. Докажем, что результат...
-
Пусть требуется выполнить некоторую арифметическую операцию над операндами X и Y в форме с плавающей точкой: . (5.12) . (5.13) Результатом операции будет...
-
Операция сложения и вычитания, двоичных беззнаковых чисел в компьютерных системах Компьютерная система выполняет сложение и вычитание операндов по...
-
Умножение двоичных знаковых чисел в компьютерных системах - Компьютерная арифметика
При выполнении операции умножения знаковых чисел исходные сомножители могут быть представлены в ПК, ОК или ДК: . (4.35) При данном способе умножения...
-
Умножение двоичных беззнаковых чисел в компьютерных системах - Компьютерная арифметика
Пусть сомножителями X и Y являются s-битные целые числа без знака: Где - (Х) - множимое, (Y) - множитель, (Z) - произведение. Тогда: Z = X - Y. (4.2)...
-
Форматы двоичных числовых данных с плавающей точкой - Компьютерная арифметика
Формат данных с плавающей точкой, использовавшийся в компьютерных системах первых поколений, включал четыре поля, а именно: указанные ранее поля для...
-
Арифметические флажки - Компьютерная арифметика
Флажки являются признаками, представляющими общую характеристику результата выполнения операции. Наиболее широко применяются следующие флажки: - Флажок...
-
Представление числовых данных в компьютерных системах - Компьютерная арифметика
Компьютерный арифметика счисление двоичный Система вещественных чисел, используемая в ручных расчетах, предполагается бесконечной и непрерывной, т. е....
-
Особенности представления числовых данных с плавающей точкой Каждой форме представления чисел (с фиксированной или плавающей точкой) свойственны свои...
-
Форматы числовых данных BCD - кодов - Компьютерная арифметика
В современных компьютерных системах, обрабатывающих не только числовую информацию, но и текстовую (алфавитно-цифровую), отдельные символы чаще всего...
-
Операции сдвига в компьютерных системах - Компьютерная арифметика
Является одной из самых распространенных в компьютерной арифметике. В частности, она используется при выполнении умножения или деления двоичных чисел....
-
Умножение и деление чисел в форме с плавающей точкой - Компьютерная арифметика
Представим операцию умножения в виде: Z = X - Y. (5.19) Тогда: . (5.20) Где: ; . Знак произведения определяют путем суммирования по модулю 2 цифр в...
-
Деление двоичных знаковых чисел в компьютерных системах - Компьютерная арифметика
Так как данные в памяти компьютера хранятся в ДК, операцию деления целесообразно выполнять в ДК. За основу можно принять базовый алгоритм деления (без...
-
Деление двоичных беззнаковых чисел в компьютерных системах - Компьютерная арифметика
Деление мантисс чисел в форме с фиксированной запятой выполняется над абсолютными величинами операндов, представленными, чаще всего, прямым кодом....
-
Вещественное число может быть представлено в каком-либо формате стандарта IEEE-754 следующим образом: . (5.23) С учетом условия нормализации (),...
-
Контроль переполнения в компьютерных системах - Компьютерная арифметика
Возможно только при сложении чисел с одинаковыми знаками, когда для представления результата недостаточно отведенного количество разрядов (требуется...
-
Стандарт IEEE-754 - Компьютерная арифметика
К настоящему времени разработаны многочисленные варианты форматов чисел с плавающей точкой и практической реализации арифметических устройств с плавающей...
-
Классификация систем счисления - Компьютерная арифметика
В настоящее время различают Позиционные И Непозиционные системы счисления. Классификация систем счисления приведена на рис. 2.1. Рисунок 2.1 --...
-
Он позволяет заменить операцию вычитания на операцию сложения, чем упрощает архитектуру компьютерной системы. Дополнительный код является дополнением...
-
Перевод чисел из одной позиционной системы счисления в другую - Компьютерная арифметика
Задача перевода чисел из одной позиционной системы счисления в другую является одной из главных в компьютерной арифметике. Ее можно сформулировать...
-
Системы счисления - Компьютерная арифметика
Как было отмечено в первой главе Система счисления - совокупность приемов и правил для установления однозначного соответствия между любым числом и его...
-
Базовые понятия и определения компьютерной арифметики - Компьютерная арифметика
Компьютерная арифметика - совокупность принципов и форм представления числовой информации, методов и алгоритмов выполнения арифметических операций и...
-
Арифметические операции в двоичной системе счисления Умножение в двоичной системе счисления = поразрядные сдвиги + суммирование Основные форматы хранения...
-
Компромиссная система, для удобства восприятия данных человеком и корректной работы компьютера, двоично-десятичная запись чисел. Принцип построения этой...
-
Каждый этап конвейера обозначается какой-то буквой. Официально первый этап конвейера называется тесселяция и обозначается буквой "T". Однако программисты...
-
Машинная арифметика с плавающей точкой - Представление и хранение информациии в ЭВМ
Число с плавающей точкой: X=±Mx-S±px Здесь: M - мантисса; S - порядок. 0.314 101 0.0314 102 Машинные числа. Машинными называются числа, допускающие...
-
Кодирование информации -- процесс преобразования сигнала из формы, удобной для непосредственного использования информации, в форму, удобную для передачи,...
-
Фильтрация и MIP Mapping - Компьютерная графика и ее аппаратная реализация (обзор видеокарт)
При работе с текстурами существует немало проблем. У экрана есть свое разрешение и определенное количество пикселей, которые на нем можно отобразить в...
-
Цветовой охват - Компьютерная графика в рекламе
Глубина цвета Кроме размера изображения, важной является информация о количестве цветов, закодированных в файле. Цвет каждого пиксела кодируется...
-
Операции с файловой структурой - Операционная система Windows
К основным операциям с файловой структурой относятся: - навигация по файловой структуре; - запуск программ и открытие документов; - создание папок; -...
-
Следующая группа символьных операций выполняется с выражениями, требующими указания переменной, по отношению к которой выполняется операция. Для этого...
-
Каждая СУБД имеет особенности в представлении структуры таблиц, связей, определении типов данных и т. д. которую необходимо учитывать при проектировании....
-
Численные эксперименты были проведены для следующих целей: Подтверждение корректности алгоритмов. Подтверждение линейности временных затрат алгоритмов. В...
-
Программа реализует алгоритм четырех махов. Входным параметром является имя файла. На выходе печать: является ли граф единичным интервальным,...
-
Непременным атрибутом офиса любой современной компании являются компьютеры. При наличии нескольких компьютеров практически всегда их объединяют в...
-
Введение - Компьютерная графика
Представление данных на мониторе компьютера в графическом виде впервые было реализовано в середине 50-х годов для больших ЭВМ, применявшихся в научных и...
-
Правило копирования формул Рабочая книга Команды для работы с данными (ввод, редактирование, форматирование) Любая обработка информации начинается с ее...
-
Растеризация - Компьютерная графика и ее аппаратная реализация (обзор видеокарт)
Последний этап конвейера называется растеризацией и обозначается буквой "R". Это единственный этап конвейера, который даже в старых акселераторах...
-
Графика в компьютере - Компьютерная графика и ее аппаратная реализация (обзор видеокарт)
Представление данных на мониторе компьютера в графическом виде впервые было реализовано в середине 50-х годов для больших ЭВМ, применявшихся в научных и...
Арифметические операции над числовыми данными BCD - кодов - Компьютерная арифметика