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

Информатика: системы с плавающей запятой ограниченной разрядности Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
261
27
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КОМПЬЮТЕРНАЯ АРИФМЕТИКА / COMPUTER ARITHMETIC / ТОЧНОСТЬ ВЫЧИСЛЕНИЙ / CALCULATION ACCURACY / РАЗРЯДНОСТЬ ПРОЦЕССОРА / PROCESSOR PRECISION / СИСТЕМА ЧИСЛА С ПЛАВАЮЩЕЙ ЗАПЯТОЙ / FLOATING-POINT NUMBER SYSTEMS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Тен Иосиф Григорьевич, Мусина Индира Рафиковна, Люлюзов Малик Юсупович

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Тен Иосиф Григорьевич, Мусина Индира Рафиковна, Люлюзов Малик Юсупович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

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

ИНФОРМАТИКА: СИСТЕМЫ С ПЛАВАЮЩЕЙ ЗАПЯТОЙ ОГРАНИЧЕННОЙ РАЗРЯДНОСТИ Тен И.Г.1, Мусина И.Р.2, Люлюзов М.Ю.3 Email: Ten1795@scientifictext.ru

1Тен Иосиф Григорьевич - кандидат технических наук, профессор, заведующий кафедрой; 2Мусина Индира Рафиковна - кандидат технических наук, доцент; 3Люлюзов Малик Юсупович - магистрант, кафедра программного обеспечения компьютерных систем, Кыргызский государственный технический университет им. И. Раззакова, г. Бишкек, Кыргызская Республика

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

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

INFORMATICS: FLOATING POINT SYSTEMS OF FINITE-PRECISION Ten I.G.1, Musina I.R.2, Luluzov M.Yu.3

1Ten Iosif Grigorievich - PhD in Engineering, Professor, Head of Department; 2Musina Indira Rafikovna - PhD in Engineering, Associate Professor; 3Luluzov Malik Yusupovich - Undergraduate, SOFTWARE ENGINEERING DEPARTMENT, KYRGYZ STATE TECHNICAL UNIVERSITY

NAMED AFTER I. RAZZAKOV, BISHKEK, REPUBLIC OF KYRGYZSTAN

Abstract: 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.

УДК:004.451:004.43

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

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

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

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

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

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

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

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

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

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

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

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

X = ±(d0+f + f2 + . • - + (1)

О < dt < р -1, i = 0,... ,t-1,

L < е < U.

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

AFPN = 2 (р-1 1 (U-L + 1 ) + 1. (2)

■ UFL - Under flow level - уровень исчезновения разрядов: U FL = р1.

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

О F L = р и+1 (1-р - 0 (3)

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

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

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

£mach = ß 1 " (4)

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

^m a c h 1ß . (5)

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

На рисунке 1 представлено окно программы со значениями исходных данных ß = 2, t=3, L= -1, U=1 и следующими результатами:

UFL = 0.5; OFL = 3.5; emach = 0Л25; AFPN = 25.

В качестве способа округления выбран 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

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

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

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/CMSC4 55/IEEE-754-2008.pdf/ (дата обращения: 30.03.2017).

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

УТИЛИЗАЦИЯ ОТРАВЛЯЮЩИХ ВЕЩЕСТВ СВЧ-ПЛАЗМАТРОНОМ Морозов М.С. Email: Morozov1795@scientifictext.ru

Морозов Михаил Сергеевич - аспирант, Национальный исследовательский центр «Курчатовский институт», г. Москва

Аннотация: результатом работы является разработка технологии и создание опытно-промышленной установки на базе СВЧ генератора мощностью 50 КВт для утилизации отравляющих веществ различных классов. Продукты утилизации должны быть совершенно безвредными для окружающей природы и человека. Традиционные методики утилизации отработанных реактивов и промышленных отходов совершенно неприемлемы в данном случае.

Установка может быть реально использована для утилизации отравляющих веществ различных классов промышленных объемов на предприятиях химической промышленности, складах химического оружия Министерства обороны. Ключевые слова: генератор, токсичные вещества, лекарственные средства, органические вещества, поле, сигнал, энергия, деструкция, проводимость, волновод, диэлектрическая трубка, согласованная нагрузка.

DISPOSAL OF CHEMICAL AGENTS BY A MICROWAVE PLASMA

TORCH Morozov M.S.

Morozov Mikhail Sergeevich - postgraduate student, NATIONAL RESEARCH CENTER "KURCHATOV INSTITUTE", MOSCOW

Abstract: the result of this work is the development of technology and creation of experimental-industrial installation on the basis of microwave generator power of 50 KW for the disposal of toxic substances of different classes. Products of recycling must be absolutely harmless to environment and human. Traditional methods of disposal of waste chemicals and industrial waste are totally unacceptable in this case.

The installation can be really used for the disposal of toxic substances of different classes of commercial production at the enterprises of chemical industry, warehouses of chemical weapons the Ministry of defence.

Keywords: generator, toxic substances, medicines, organic matter, field, signal, energy, destruction, conductivity, waveguide, dielectric tube, matched load.

УДК 623.459: 54-16

i Надоели баннеры? Вы всегда можете отключить рекламу.