[an error occurred while processing this directive]
Да я и это не оспаривал (+)
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено homekvn 31 октября 2006 г. 17:45
В ответ на: А еще по поводу fixed и floating... (+) отправлено <font color=gray>ASergej_R19</font> 31 октября 2006 г. 17:24

Как заметили Вы совершенно верно, бывают случаи, когда нужно иметь одинаковую абсолютную точность представления данных во всем рабочем диапазоне, а бывают случаи, когда нужна точность представления данных, которая зависит от порядка величин. С фиксед пойнт все 32 разряда в нашем распоряжении и могут использоваться целиком под мантиссу; во флоатинге придется пожертвовать 8-ю битами для представления порядка, но зато можно для чисел с очень маленьким порядком обеспечить ту же относительную точность.

Та задача, что привели Вы, когда нужно сложить большое число с маленьким в отрыве от контекста действительно лучше решается в фиксед пойнте. Если же подумать, когда такое бывает нужно, то основное применение - переход от одного значения величины A0 к другому значению той же величины AN в течение некоторого времени. В этом случае мы разбиваем интервал [A0..AN] на N частей:

dA=(AN-A0)/N,

а потом прибавляем к величине А0 значение dA. Если делать эту операцию рекурсивно:

A(i)=A(i-1)+dA,

то конечно все будет плохо. А вот если делать вот так:

A(i)=A0+i*dA, то все будет прекрасно. И результат в итоге будет в точности совпадать со значением AN.

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

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа
Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 
URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание