русс | укр

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

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

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

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


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

Система чисел


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


Система вещественных чисел, которую мы используем для ручных вычислений, бесконечна в обе стороны. Не существует верхней и нижней границы для чисел, которые мы можем использовать в расчетах, и для точности (количества значащих цифр), которая может потребоваться для представления этих чисел. Для любого данного вещественного числа всегда существует бесконечное множество чисел, которые больше или меньше этого числа. Кроме того, существует бесконечно много чисел между двумя вещественными числами. Например, между числами 2.5 и 2.6 существуют числа 2.51, 2.5897, 2.500001 и так далее.

Хотя в идеале желательно было бы конечно, чтобы компьютер манипулировал на всем множестве вещественных чисел, но на практике это невозможно. Компьютеры, вне зависимости от их величины, имеют ограниченные размеры регистров и памяти, которые, собственно, и ограничивают систему чисел, реализуемых на компьютере. Эти ограничения определяют как диапазон, так и точность чисел. В результате получается множество чисел, которое является ограниченным и дискретным, а не бесконечным и неограниченным. Эта последовательность представляет собой подмножество действительных чисел и разработана для того, чтобы сформировать некоторую аппроксимацию системы вещественных чисел, которую можно было бы использовать на компьютерах.

На Рисунке 15-9 показана базовая система чисел с плавающей точкой процессора i486 на вещественной прямой (для ясности показаны десятичные числа, на самом деле процессор i486 использует числа в двоичном представлении). Точки указывают подмножество действительных чисел, которое процессор i486 может представить как данные и как конечный результат вычислений. Нормализованные числа с двойной точностью изменяются в примерном диапазоне от +-2.23 x 10**(-308) до +-1.79 x 10**(308). При этом очень редко можно встретить случаи, когда программное обеспечение требует работы с данными и конечным результатом за рамками этого диапазона. Для сравнения приведем диапазон чисел компьютера IBM System 370*, он составляет примерно от +-0.54 x 10 **(-78) до +-0.72 x 10**(76).



+---------------------------------------------------------------+| || || || ОТРИЦАТЕЛЬНЫЙ ПОЛОЖИТЕЛЬНЫЙ || |---- ДИАПАЗОН -----| |---- ДИАПАЗОН -----| || | (НОРМАЛИЗОВАННЫЙ) | | (НОРМАЛИЗОВАННЫЙ) | || | -5 -4 -3 -2 -1 | | 1 +-2-+ 3 4 5 | || *--) (**+***+***+***+***+*** 0 ***+*|*+*|*+***+***+**) (--* || +---+--+ || | 308 -308 | | -308 | 308 | || +- -1.79x10 -2.23x10 -+ +- 2.23x10 | 1.79x10 -+ || | || | || +-----------------------------+ || | +2 | || | --*----*----* | || | | || | |--| | || | | | +2.000000000000000 | || | | +-- (НЕ ПРЕДСТАВИМО) | || | +--- 1.999999999999999 | || | ТОЧНОСТЬ|--- 16 ЦИФР ---| | || | | || +-----------------------------+ || || || |+---------------------------------------------------------------+ Рисунок 15-9. Система Чисел Двойной Точности

Ограниченное пространство на Рисунке 15-9 иллюстрирует то, что процессор i486 может представить довольно много вещественных чисел, но не все, из этого диапазона. Всегда существует пространство между двумя соседними числами с плавающей точкой и возможно, что результат вычислений попадет в это пространство. Когда такое случается, модуль обработки команд с плавающей точкой округляет истинный результат до числа, которое оно может представить. Вещественное число, которое требует больше цифр, чем модуль обработки операций с плавающей точкой может дать (то есть число из 20-ти цифр), представляется с некоторой потерей точности. Обратите внимание также на то, что представимые числа располагаются не ровно вдоль вещественной прямой. Фактически такое же количество представимых чисел существует между любыми двумя последовательными степенями двойки (то есть такое же множество представимых чисел существует как между 2 и 4, так и между 65536 и 131072). Хотя, расстояние между представимыми числами больше у чисел, величина которых больше. Однако, все целые в диапазоне +-2**(64) (примерно +-10**(19)) представляются точно.

Во внутренних операциях модуль обработки операций с плавающей точкой на самом деле работает с системой чисел, которая является вещественным подмножеством системы, показанной на Рисунке 15-9. Внутренний формат (называемый расширенные вещественные) расширяет нормализованный диапазон представимых чисел примерно от +-3.37 x 10**(-4932) до +- 1.18 x 10**(4932), а точность примерно до 19 (в десятичном виде) цифр. Этот формат разработан для того, чтобы предоставить дополнительный диапазон и точность для констант и промежуточных результатов, и не применим к данным или конечному результату.

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



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


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


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

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

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


 


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

 
 

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

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