[an error occurred while processing this directive]
Так у меня и делается, только ничего запоминать не нужно ибо разложение делается не со стороны младшего бита, а со стороны старшего...
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

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

Отправлено Oleg_0515 13 февраля 2004 г. 17:49
В ответ на: Ага. 2185 скорее всего выиграет. отправлено ВН 12 февраля 2004 г. 19:09

В общем виде:
X^(b#a3a2a1a0)=X^(8a3+4a2+2a1+1a0)=
{порядок записываем по схеме Горнера}

=X^[(((a3*2+a2)*2)+a1)*2+a0]=
=((((((X^a3)^2)*X^a2)^2)*X^a1)^2)*X^a0

В Вашем примере 14=b#1110, т.е. a3=1, a2=1, a1=1, a0=0.
Тогда:
X^14=((((((X)^2)*X)^2)*X)^2) - 5 умножений.
Память отводится для исходного числа X (основание), исходного числа А (показатель), и промежуточного результата, назовем его числом R (у меня для двух промежуточных результатов R1 и R2).

Не совсем понял насчет поиска оптимального пути...
Мне кажется, что схема Горнера и дает этот оптимальный путь, причем автоматически.

Ну, а насчет сравнения процессоров и времени умножения по алгоритму - то или, возможно, число 1 и 0 в числах в указанных тестах было различным, или TMS в два раза шустрее, или у PY есть хитрая оптимизация в алгоритме.
А может быть Вы совершенно правы, и мне нужно съесть свою шляпу :)

Не претендуя на исключительность,
с уважением ко всем участникам,
Oleg_0515


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

Ответы


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

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

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

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

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


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru