Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Представление чисел (ТЕСТ ПО ДИСКРЕТКЕ 4ый).doc
Скачиваний:
12
Добавлен:
31.08.2019
Размер:
1.26 Mб
Скачать

Двоичная и десятичная арифметики и области их применения

Для обработки данных в ЭВМ возможно применение одной из двух следующих схем:

Вывод результатов в десятичной системе счисления

1

Ввод данных в десятичной системе счисления

Преобразование результатов обработки из двоичной в десятичную систему счисления

Обработка данных в двоичной системе счисления

Преобразование данных из десятичной в двоичную систему счисления

)

двоичная арифметика

2

Ввод данных в десятичной системе счисления

Обработка данных в десятичной системе счисления

Вывод результатов в десятичной системе счисления

)

десятичная арифметика

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

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

Аппаратная поддержка второй схемы обработки данных в ЭВМ предполагает наличие в составе процессора помимо традиционного двоичного АЛУ еще и десятичного АЛУ. Использование подобных АЛУ характеризуются компьютеры (ЭВМ), относящиеся к классам Main Frame. В ПК и рабочих станциях на базе практически всех современных процессоров десятичное АЛУ отсутствует.

Для наиболее типичной (классической) схемы обработки этапы преобразования данных из одной системы счисления в другую принципиально могут быть реализованы либо на аппаратном, либо программном уровне. В системе команд процессоров Intel отсутствуют как таковые команды преобразования данных из десятичной системы в двоичную и обратно. Подобные команды имели место в системе команд вычислительной системы IBM/370.

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

FBLD – Load Binary coded Decimal (загрузка с преобразованием). По этой команде осуществляется пересылка десятичного числа в BCD-формате из памяти во внутренний регистр данных FPU с преобразованием из десятичной системы счисления в двоичную форму числа с плавающей запятой, представленного в расширенном формате (внутренний формат FPU).

Обратное преобразование из двоичной системы в десятичную реализуется командой FBSTP – Store BCD Integer and Pop. По этой команде осуществляется пересылка данных из вершины регистрового стека FPU в память с предварительным преобразованием двоичного числа с плавающей запятой, упакованной в десятичный формат. Выбираемый операнд удаляется из регистрового стека (POP).

Внутренняя регистровая память данных блока FPU включает в себя 8 80-битных регистров, организованных в виде так называемого регистрового стека.

Этими командами поддерживается 80-битный BCD-формат для представления упакованного десятичного числа. В данном формате представлено 18 десятичных цифр, которые занимают 72 младших разряда формата. Старший байт формата используется для представления знака, который занимает в нем старший бит. Десятичное число предполагается целым. Как таковые, десятичные числа в BCD и ASCII – форматах имеют аппаратную поддержку в процессорах Intel на уровне так называемых команд десятичной (BCD) и ASCII – коррекции. К ним относятся:

BCD-коррекция:

• DAA (Decimal Adjust after Addition);

• DAS (Decimal Adjust after Subtraction).

ASCII-коррекция:

• AAA (ASCII Adjust after Addition) ;

• AAS (ASCII Adjust after Subtraction);

• AAM (ASCII Adjust after Multiply);

• AAD (ASCII Adjust before Division).

Команды коррекции используются для преобразования результатов соответствующей операции в корректную десятичную форму. При этом предшествующая арифметическая операция, выполняемая командами ADD, SUB, MUL , предполагает использование двоичной арифметики применительно к десятичным числам. Все команды коррекции поддерживают минимальный формат данных – 1 байт.

Для операции деления команда коррекции AAD в машинной программе предшествует команде DIV, т.е. корректируется не результат деления, а операнд - делимое.