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

 
 
> Арифметика с фиксированной точкой, помогите понять несколько ньюансов
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
Ответов
Stanislav
сообщение Mar 6 2008, 07:26
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



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

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

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

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

если не сложно напишите пожалуйста поподробнее
1. Зависит от точности, предъявляемой к результату. Если я правильно понял, x и y могут быть любыми, кроме y=0.
2. Так же.

Цитата(Tanya @ Mar 6 2008, 10:15) *
Автор спрашивал(а) не про тангенс, а про арктангенс, ряд для которого сходится со свистом...
Что значит "со свистом"?
Автор спрашивал(а) не про свист, а "до какого члена нужно(имеет смысл) раскладывать в ряд арктангенс".


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Tanya
сообщение Mar 6 2008, 08:00
Сообщение #3


Гуру
******

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



Цитата(Stanislav @ Mar 6 2008, 10:26) *
1. Зависит от точности, предъявляемой к результату. Если я правильно понял, x и y могут быть любыми, кроме y=0.
2. Так же.

Что значит "со свистом"?
Автор спрашивал(а) не про свист, а "до какого члена нужно(имеет смысл) раскладывать в ряд арктангенс".

А свист был не автору, а соавтору, написавшему про плохую сходимость тангенса, что действительно имеет место вдали от нуля... ближе к пи пополам.
А Вам замечу, что в подобной постановке задачи при y=0 арктангенс будет равен пипополаму.
А как вычислять - пусть автор сам решает - это зависит от методов и вкуса. В ряд можно раскладывать, танцуя от нуля. А можно и не от нуля... И не обязательно по положительным степеням аргумента...
Go to the top of the page
 
+Quote Post
608
сообщение Mar 6 2008, 08:35
Сообщение #4


Участник
*

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



Цитата(Tanya @ Mar 6 2008, 12:00) *
А свист был не автору, а соавтору, написавшему про плохую сходимость тангенса, что действительно имеет место вдали от нуля... ближе к пи пополам.

Я допустил опечатку (правильно арктангенс), и спор пошел не в ту сторону...
Для вычисления арктангенса рекомендуется использовать алгоритм "цифра за цифрой". Отпадают все вопросы с делениями, да и каждая итерация позволяет вычислять как бы одну точную цифру результата.
А для оптимального решения задачи, опять же, нужно знать, чем исходное выражение будет вычисляться. Возможно, хватит и готовой таблицы...

Сообщение отредактировал 608 - Mar 6 2008, 09:19
Go to the top of the page
 
+Quote Post



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

 


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


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