ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
24 ноября
19102 Топик полностью
SM (26.12.2004 11:36, просмотров: 1) ответил lamerок на Как взять корень, чтобы поменьше циклов было???
Варианты 1) разложением по степеням 2 - количество итераций равно количеству бит входного числа. Исходник дают в комплекте исходников ITU G.723.1 2) Ньютон-Рафсон. По табличке находите приближенное значение 1/sqrt(y), затем N итераций: если считаем x=1/sqrt(y) то каждая итерация, увеличивающие кол-во точных бит вдвое выглядит так x(n+1)=x(n)*(1.5-(y/2)*x(n)*x(n)). Таким образом, если по таблице получилм корень с точностью 8 бит, две итерации дадут точность 32 бита. Да, ну а зная 1/sqrt(y) достаточно его домножить на y, дабы получить sqrt(y).