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

 
 
> Арифметика с фиксированной точкой, помогите понять несколько ньюансов
onizuka
сообщение Mar 6 2008, 01:17
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 12-01-08
Из: Санкт-Петербург
Пользователь №: 34 012



есть два беззнаковых 19разрядных числа x и y
необходимо вычислить следующее выражение: z = (3*pi/2) + arctan(x/y)

насколько я понимаю арктангенс соответственно вычислять нужно раскладывая его в ряд тейлора
результат 32 битный

вопросы следующие:

1) до какого члена нужно(имеет смысл) раскладывать в ряд арктангенс ?
2) как реализуеться операция x/y в числах с фиксированной точкой? также как и с целыми?

если не сложно напишите пожалуйста поподробнее
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
608
сообщение Mar 6 2008, 06:20
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 70
Регистрация: 8-05-07
Пользователь №: 27 604



Цитата(onizuka @ Mar 6 2008, 05:17) *
1) до какого члена нужно(имеет смысл) раскладывать в ряд арктангенс ?
2) как реализуеться операция x/y в числах с фиксированной точкой? также как и с целыми?

1. Это зависит от желаемой точности и от значения аргумента, который определяет скорость схождения. Текущая точность вычисляется после добавления к сумме разложения каждого следующего члена ряда. Однако, разложение в ряд Тейлора не самый лучший способ вычисления тангенса, есть более прогрессивные алгоритмы, об этом здесь уже говорилось, например, CORDIC ("цифра за цифрой").
2. Это не важно, здесь дело вкуса. Желательно только, чтобы делитель был больше делимого, для этого делают дополнительные сдвиги операндов, а потом учитывают это при выравнивании частного. Вам правильно задали вопрос, по поводу места реализации.
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 6 2008, 07:15
Сообщение #3


Гуру
******

Группа: Модераторы
Сообщений: 8 752
Регистрация: 6-01-06
Пользователь №: 12 883



Цитата(608 @ Mar 6 2008, 09:20) *
1. Это зависит от желаемой точности и от значения аргумента, который определяет скорость схождения. Текущая точность вычисляется после добавления к сумме разложения каждого следующего члена ряда. Однако, разложение в ряд Тейлора не самый лучший способ вычисления тангенса, есть более прогрессивные алгоритмы, об этом здесь уже говорилось, например, CORDIC ("цифра за цифрой").

Автор спрашивал(а) не про тангенс, а про арктангенс, ряд для которого сходится со свистом...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 12:53
Рейтинг@Mail.ru


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