русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Вещественные числа


Дата добавления: 2015-06-12; просмотров: 768; Нарушение авторских прав


Процессор i486 может представлять вещественные числа формы:

(-1)**(s)2**(E)(b(0)b(1)b(2)b(3)...b(p-1))

где:

s = 0 или 1 E = любое целое между Emin и Emax, включительно b(i) = 0 или 1p = число бит точности

В Таблице 15-3 приведены параметры каждого из трех форматов вещественных чисел.

Процессор i486 хранит вещественные числа в двоичном формате с тремя полями, который отражает научную или экспоненциальную нотацию. Формат состоит из следующих полей: - Значащие цифры числа находятся в поле мантиссы b(0)b(1)b(2)b(3)...b(p-1). - Поле порядка, e = E + смещенный порядок, располагает двоичную точку внутри значащих цифр (и определяет величину числа). - Однобитовое поле знака указывает на то, является ли число положительным или отрицательным. Отрицательные числа отличаются от положительных только по биту знака своих мантисс. Таблица 15-3. Параметры Форматов

+---------------------------------------------------------------+| | Формат || Параметр +--------------------------------------|| | Обычный | Двойной |Расширенный |+------------------------+-----------+-------------+------------|| Ширина формата в битах | 32 | 64 | 80 || p (биты точности) | 24 | 53 | 64 || Ширина порядка в битах | 8 | 11 | 15 || Emax | +127 | +1023 | +16383 || Emin | -126 | -1022 | -16382 || Смещенный порядок | +127 | +1023 | +16383 |+---------------------------------------------------------------+

На Таблице 15-4 показано как вещественное число 178.125 (десятичное) хранится в единичном вещественном формате. В таблице приведена прогрессия эквивалентных нотаций, которая выражает одно и тоже значение для того, чтобы показать как число может быть переведено из одного формата в другой. (Трансляторы с языка ассемблер ASM386/486 и PL/M-386/486 производят подобные операции, когда они встречают вещественные числовые константы, определенные программистом.) Обратите внимание на то, что не все десятичние дроби имеют точный двоичный эквивалент. Десятичное число 1/10, например, не может быть точно выражено в двоичном формате (также как число 1/3 не может быть точно выражено в десятичном формате). Когда транслятор встречает такое значение, он делает аппроксимацию округленного двоичного числа из десятичного значения.



Процессор i486 обычно хранит цифры мантиссы в нормализованной форме. Это означает, что мантисса, исключая нулевое значение, содержит целый бит и дробные биты:

1fff...ff

где  означает предполагаемую двоичную точку. Число дробных битов варьируется в соответствии с вещественным форматом: 23 для простого, 52 для двойного и 63 для расширенного вещественного. Нормализуя вещественные числа так, чтобы их бит целой части всегда был равен 1, процессор i486 уничтожает начальные нули в малых значениях (▀X▀ < 1). Этот прием максимизирует число значащих цифр, которые могут быть представлены в мантиссе данной ширины. Обратите внимание, что в простом и двойном форматах бит целой части является неявным и в действительности не хранится; бит целой части физически представлен только в расширенном формате.

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

Таблица 15-4. Нотация Вещественного Числа +---------------------------------------------------------------+| | || Нотация | Значение || | |+--------------+------------------------------------------------|| Обычная | || Десятичная | 178.125 |+--------------+------------------------------------------------|| Научная | || Десятичная | 178125E2 |+--------------+------------------------------------------------|| Научная | || Двоичная | 10110010001E111 |+--------------+------------------------------------------------|| Научная | || Двоичная | 10110010001E10000110 ||(Смещ.Порядок)| |+--------------+------------------------------------------------|| Обычный |Знак|Смещенный Порядок| Мантисса || Формат +----+-----------------+-------------------------||(Нормализован)| 0 | 10000110 | 01100100010000000000000 || | | | 1 (Неявно) |+---------------------------------------------------------------+

Для того, чтобы упростить сравнение вещественных чисел (например, для сортировки), процессор i486 сохраняет порядки в смещенной форме. Это означает, что константа добавляется к истинному порядку, описанному выше. Как показано в Таблице 15-3, значение смещения различно для каждого вещественного формата. Оно выбрано так, чтобы вынудить смещенный порядок иметь положительное значение. Это позволяет сравнивать два вещественных числа (одинакового формата и знака) так, как если бы они были двоичными целыми без знака. Таким образом, при побитном сравнении чисел слева направо (начиная с самого левого бита порядка), первый же отличный бит определяет отношение этих чисел, поэтому нет необходимости вести сравнение дальше. Истинный порядок числа может быть определен простым вычитанием значения смещения его формата.

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

Большинство программных продуктов могут использовать двойной формат для хранения числовых вещественных данных и результатов. Он предоставляет достаточный диапазон и точность для получения корректных результатов с минимальными затратами со стороны программиста. Простой вещественный формат подходит для программых продуктов, которые стеснены памятью, но следует знать, что этот формат имеет малый запас надежности. Он также используется для отладки алгоритмов, поскольку проблемы округления будут выявлятся быстрее в этом формате. Расширенный вещественный формат обычно используется для хранения промежуточных результатов, счетчиков цикла и констант. Этот формат имеет добавочную длину для того, чтобы оградить конечный результат от действия округления и переполнения/отрицательного переполнения в промежуточных вычислениях. При этом диапазон и точность двойного формата адекватна большинству микрокомпьютерных реализаций.



<== предыдущая лекция | следующая лекция ==>
Двоичные целые | Управление округлением


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.007 сек.