Информатика: системы с плавающей запятой ограниченной разрядности

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 11.07.2018
Размер файла 186,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

УДК:004.451:004.43

ИНФОРМАТИКА: СИСТЕМЫ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ ОГРАНИЧЕННОЙ РАЗРЯДНОСТИ

Тен Иосиф Григорьевич - кандидат технических наук, профессор, заведующий кафедрой;

Мусина Индира Рафиковна - кандидат технических наук, доцент

Аннотация

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

Ключевые слова: компьютерная арифметика, точность вычислений, разрядность процессора, система числа с плавающей запятой.

the article discusses the main causes of errors that are inevitable in any calculations on a computer. The main attention is paid to the detailed study and visual representation of arithmetic systems with finite precision used in all digital computers. Problems arising in the formation of technical requirements for a computer program under development are shown. One approach for determining the required characteristics of the processor to ensure successful operation of the application is proposed.

Keywords: computer arithmetic, calculation accuracy, processor precision, floating-point number systems.

На сегодняшний день при решении любой задачи, требующей арифметических вычислений на компьютере, пользователь сталкивается с двумя видами ошибок: ошибки входных данных (ошибки действий пользователя) и ошибки вычислений. И если на первый вид ошибок разработчики программ никак повлиять не могут, то ответственность за появление ошибок второго вида полностью возлагается на них.

Если исключить все ошибки разработчика программы, связанные с неверной реализацией алгоритма, то ошибки в вычислениях могут появляться из-за округления в самой системе, т.к. любая компьютерная система не может быть бесконечно точной. Причиной такого рода ошибок является ограничение памяти и разрядности процессора. К примеру, в обычной арифметике, между нулем и единицей существует бесконечное количество вещественных чисел, а компьютер из-за своей ограниченной разрядности памяти может хранить и использовать только ограниченное количество чисел [1]. В таких случаях компьютеру приходится их округлять. Для представления таких чисел, была введена система чисел с плавающей запятой, что является компромиссом между точностью вычислений и скоростью работы. Число с плавающей запятой состоит из набора отдельных разрядов, условно разделенных на знак, порядок и мантиссу [2].

Как известно, разработка любого программного обеспечения начинается с разработки технического задания (ТЗ). Кроме функциональных требований, в ТЗ должны быть представлены и нефункциональные требования, в которых одним из основных является требования к процессору. В прикладных программах, предназначенных для решения вычислительных задач с большой точностью, в ТЗ должно включаться требование к величине допустимой погрешности вычислений. Если требования к величине допустимой погрешности завышены, то возможно потребуется покупка более дорогих компьютеров. Разработчики программ не всегда могут обоснованно предъявить требования к характеристикам аппаратной части компьютера (hardware). Некоторые разработчики, пытаясь сэкономить средства заказчика и сделать более привлекательной стоимость программы, приводят в требованиях к hardware более слабые характеристики, рискуя передать заказчику программу, которая может выдать неудовлетворительный для пользователя программы, результат вычислений. Другие разработчики программ завышают требования к hardware, вынуждая заказчиков приобретать более дорогие компьютеры с высокими характеристиками, в то время, как в этом нет никакой необходимости. Таким образом, возникает необходимость в разработке компьютерной программы, которая будет наглядно демонстрировать зависимость точности вычислений от разрядности процессора.

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

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

• в - основание системы счисления;

• t - Precision - параметр, характеризующий разрядность процессора;

• L - нижняя граница экспоненциального показателя;

• U - верхняя граница экспоненциального показателя;

Программа в качестве результатов выдает следующие параметры:

ь Число в системе с плавающей запятой, которое представляется следующим образом [2]:

(1)

,

ь AFPN - Amount of floating-point numbers - количество всех чисел в системе с плавающей запятой, вычисляется по формуле [2]:

(2)

ь UFL - Under flow level - уровень исчезновения разрядов:

ь OFL - Over flow level -уровень переполнения разрядов:

(3)

ь - Machine precision - машинная точность - минимальный шаг от одного вещественного числа к другому в заданной системе с плавающей запятой.

Перед вычислением значения необходимо определиться со способом округления чисел в системе с плавающей запятой. Существует два основных способа округления: Chop - «отрубает» правую часть вещественного числа, оставляя слева нужное количество символов; Round to nearest - “округляет до ближайшего” (является режимом по умолчанию, обеспечивает наиболее точный результат). Для способа округления Chop, используется формула [3]:

(4)

Для способа округления Round to nearest, используется формула[3]:

(5)

Выше представленная модель системы с плавающей запятой была реализована в программе, разработанной специально для исследования зависимости точности вычислений от разрядности процессора. Программа формирует графическое представление системы с плавающей запятой: показывает все точки, возможные при заданных исходных данных. Код программы написан на языке C# в среде Visual Studio 2013. На рисунке 1 представлено окно программы со значениями исходных данных в = 2, t=3, L= -1, U=1 и следующими результатами:

В качестве способа округления выбран Round to nearest. Рисунок 1 демонстрирует, что при разрядности процессора равной 3, нельзя получить такие числа, как 0.25 или 0.3. Если отнять от числа 3 число 0.75, то мы получим число 2, т.к. в реализованной системе чисел с плавающей запятой числа 2.25 не существует.

При увеличении разрядности (к примеру, t=4) программа показала, что возможно получить число 2.25 при той же операции (отнять от числа 3 число 0.75). Таким образом, с увеличением разрядности системы с плавающей запятой увеличивается точность вычисления, а также диапазон значений чисел и их количество.

Разработанная программа позволяет определить максимально возможную точность для процессоров с различными значениями его разрядности.

арифметический ограниченный разрядность процессор

Рис. 1. Результаты исследований при t=3

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

Список литературы

1. Шундеев А.С. Введение в стандарт IEEE 754 // Программная инженерия, 2013. № 3. С. 44 - 47.

2. IEEE Std 754-2008. Standard for Binary Floating-Point Arithmetic. IEE. [Электронный ресурс], 2008. Режим доступа: https://www.csee.umbc.edu/~tsimo1/CMSC455/IEEE-754-2008.pdf/ (дата обращения: 30.03.2017).

3. Michel T. Heath. Scientific Computing. An Introductory Survey. The McGraw - Hill Companies, 1996. P. 408.

Размещено на Allbest.ru


Подобные документы

  • Рассмотрение особенностей структур регионального развития. Определение роли информационных систем в структуре. Разработка математического обеспечения автоматизированной системы управления процесса обеспечения территорий с ограниченной доступностью.

    курсовая работа [1,2 M], добавлен 25.05.2015

  • Разработка устройства, реализующего набор команд из числа операций с плавающей точкой семейства процессора i486. Структура сопроцессора FPU. Принцип выполнения операций, разработка блок-схемы, построение структурной схемы основных блоков процессора.

    курсовая работа [734,9 K], добавлен 27.10.2010

  • Классификации архитектур вычислительных систем. Организация компьютерных систем. Устройство центрального процессора. Принципы разработки современных компьютеров. Эволюция микропроцессорных систем. Увеличение числа и состава функциональных устройств.

    дипломная работа [1,4 M], добавлен 29.01.2009

  • Ознакомление с комплектацией и классификацией звуковых карт; рассмотрение их основных характеристик - частоты дискретизации, разрядности, динамического диапазона, коэффициента нелинейных искажений, поддерживаемых спецэффектов. Диапазон цен на аудиоплаты.

    презентация [647,5 K], добавлен 17.11.2011

  • Применение электронных вычислительных машин. Создание локально-вычислительных сетей. Исследование принципов работы сети Ethernet. Изучение архитектуры прикладного интерфейса Windows. Назначение протокола NetBIOS и консольного приложения MyServer.

    контрольная работа [162,7 K], добавлен 19.01.2016

  • Изучение характеристик и режимов работы ВТА 2000-30. Составление блок-схемы алгоритма программы. Рассмотрение особенностей интерфейса вычислительных систем. Описание кодов символьных и функциональных клавиш, полученных при выполнении практической работы.

    отчет по практике [26,6 K], добавлен 04.04.2015

  • Тестирование арифметико-логического блока процессора на уровне двоичных форм представления данных типовыми программными средствами ЭВМ. Рассмотрение основ сложения и вычитания чисел с плавающей запятой. Описание логического и текстового типа данных.

    курсовая работа [1,4 M], добавлен 13.12.2014

  • Изучение принципа работы цифрового автомата для сложения двоичных чисел, представленных в форме с фиксированной запятой, на базисе алгебры Буля. Правила построения операционных и функциональных схем отдельных устройств, логических систем и функций.

    курсовая работа [1,2 M], добавлен 24.01.2014

  • Понятие оперативной памяти в вычислительных устройствах. Ее технические особенности и выполняемые функции. Характеристики используемых микросхем: объема, разрядности шины, быстродействия и временной диаграммы. Описание распространенных типов RAM.

    презентация [185,2 K], добавлен 20.12.2015

  • Анализ основных проблем звукового монтажа и изучение возможных методов устранения ошибок в записанном материале. Характеристика программного обеспечения, используемого при звукомонтаже. Общие способы выявления причин проблемного монтажа звуковых записей.

    курсовая работа [1,9 M], добавлен 08.01.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.