Вычисления с плавающей и фиксированной точкой 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вычисления с плавающей и фиксированной точкой

Поиск

Выбор длительности такта

Реальная (устанавливаемая в программе) длительность такта  зависит от:

· Динамики (частоты среза) объекта управления, .

· Вычислительной мощности контроллера – чистого машинного времени, которое занимает расчет алгоритма управления .

· Длительности накладных расходов исполнения программы,

При этом должно выполняться следующее эмпирическое условие:

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

Рассмотрим наш пример.

Примем следующие времена исполнения операций:

· Сложение – 2 такт

· Умножение – 4 такта

· Присваивание – 1 такт

· Выполнение функции – 23 такта

Рассчитаем :

X = Get(); - 1+23=24 тактов

x = Mes(); - 1+23=24 тактов

E = X - x; - 1+2=3 тактов

Ix += (E*K1); - 1+2+4=7 тактов

D = (E – Eo) * K2; 1+2+4=7 тактов

U = Ix + D + E*K3; 1+2+2+ 4=9 тактов

Eo = E; 1 такт

Act(U); 23 татка

Итого: тактов.

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

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

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


Числа с фиксированной точкой— формат представления вещественного числа в памяти ЭВМ в виде целого числа. При этом само число x и его целочисленное представление x′ связаны формулой

,

где z — цена (вес) младшего разряда.

Простейший пример арифметики с фиксированной запятой — перевод рублей в копейки. В таком случае, чтобы запомнить сумму 12 рублей 34 копейки, мы записываем в ячейку памяти число 1234.

 

В случае, если z < 1, для удобства расчётов делают, чтобы целые числа кодировались без погрешности. Другими словами, выбирают целое число u (машинную единицу) и принимают . В случае, если z > 1, его делают целым.

 

Если не требуется, чтобы какие-либо конкретные дробные числа входили в разрядную сетку, обычно выбирают  — это позволяет использовать в операциях умножения и деления битовые сдвиги. Про такую арифметику говорят: «f битов на дробную часть, i=n−f — на целую» и обозначают как «i,f» или «i.f». Например: арифметика 8,24 отводит на целую часть 8 битов и 24 — на дробную. Соответственно, она способна хранить числа от −128 до 128−z с ценой (весом) младшего разряда .

 

Для угловых величин зачастую делают  (особенно если тригонометрические функции вычисляются по таблице).

 

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

· сложение:

· умножение:

· деление:

здесь [] – операция округления до целого.

Если в дробной части f-бит, то:

здесь shr и shl – сдвиг вправо и сдвиг влево соответственно.

 

Числа с плавающей точкой— форма представления действительных чисел, в которой число хранится в форме мантиссы и показателя степени. При этом число с плавающей запятой имеет фиксированную относительную точность и изменяющуюся абсолютную.

Число с плавающей запятой состоит из:

· мантиссы (выражающей значение числа без учёта порядка)

· знака мантиссы (указывающего на отрицательность или положительность числа)

· порядка (выражающего степень основания числа, на которое умножается мантисса)

· знака порядка

 

Нормальной формой числа с плавающей запятой называется такая форма, в которой мантисса (без учёта знака) находится на полуинтервале [0; 1). Такая форма записи имеет недостаток: некоторые числа записываются неоднозначно (например, 0,0001 можно записать в 4 формах — 0,0001×100, 0,001×10−1, 0,01×10−2, 0,1×10−3), поэтому распространена (особенно в информатике) также другая форма записи — нормализованная, в которой мантисса десятичного числа принимает значения [1; 10). В такой форме любое число (кроме 0) записывается единственным образом. Недостаток заключается в том, что в таком виде невозможно представить 0, поэтому представление чисел в информатике предусматривает специальный признак (бит) для числа 0.

 

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

 

Машинный эпсилон называется наименьшее положительное число ε такое, что (знаком обозначено машинное сложение). Грубо говоря, числа a и b, соотносящиеся так, что, машина не различает.



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 41; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.196 (0.009 с.)