[an error occurred while processing this directive]
Если с техаосвкими процессорами работаете - посмотрите на команду subc. И разберитесь с ней. Она есть и в 5000 и в 6000 и работает одинаково.
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

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

Отправлено -=ВН=- 02 августа 2006 г. 11:48
В ответ на: Посоветуйте алгоритм деления (+) отправлено bp 01 августа 2006 г. 22:54

Это примитив деления. Выполняет элементарную опрерацию в делении столбиком, что на бумаге каждый из нас умеет делать. Делит она, есть ограничения, 32-х разрядное число на 16-ти разрядное с 16 -ти разрядным результатом. Легко делается и деление с большей точностью результата, например 32-х разрядным.
Дальше 3 пути.
1. Легко написать ф-ю, использующую принцип этой команды, и делящую хоть 32768-разрядное число на 16384 разрядное.
2. Делитель представить в виде D(1+x), где D - 16-ти разрядное, а x много меньше 1 и имеет порядок величины 2^(-15). Таким образом переходите к делению 32 на 16 и разложению в ряд 1/(1+x).
3. Выцарапать из библиотеки функцию деления флоатов.
В ней непременно должно быть деление мантисс, а они 24-х разрядные, типа расширить до 32 и дело в шляпе.

В аналогдевайсовских adsp218x была аналогичная по сути команда команда DIVQ. Как в блэкфинах не знаю.

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


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

Ответы


Отправка ответа

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

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

Ссылка на URL: 
Название ссылки: 

URL изображения: 


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