реклама на сайте
подробности

 
 
> Квадратный корень из целочисленного значения.
Guest_TSerg_*
сообщение Sep 23 2016, 20:41
Сообщение #1





Guests






Просто для затравки.
Есть много способов - от Герона до рядов и до битных вычислений.

Еще один способ ( не претендуя на оригинальность - геометрический, итерационный).
Основан на приближении C^2 = A^2 + B^2.
Число итераций практически Ln(N).
Не очень быстрый, это факт (3..11 итераций).
Известен давно, но доработан до минимизации средней ошибки.

Код (Pascal):
http://shot.qip.ru/00gZ9L-5OPovQGI0/

График ошибок (X = 10..100 тыс.), [%]:
http://shot.qip.ru/00gZ9L-2OPovQGI2/

Число итераций (X = 10..100 тыс.):
http://shot.qip.ru/00gZ9L-4OPovQGI4/
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Alex11
сообщение Sep 25 2016, 18:53
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 106
Регистрация: 23-10-04
Из: С-Петербург
Пользователь №: 965



Я делал в свое время для DSP от TI с однотактным умножением методом последовательного приближения с дополнительными ухищрениями. Получилось лучше, чем в стандартной библиотеке. Точное количество тактов сейчас не помню, и текста нет под рукой - я в отпуске.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 8th August 2025 - 22:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016