![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| sos |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 22 Регистрация: 12.8.2005 Репутация: нет Всего: нет |
я ТУТ РЕШАЮ слау, Пацаны пара вопросов^
1.Что значит 1.#INF; -1.#IND(ВЫДАЕТ В КОНСОЛИ); 2.тип double самый точный???КАК повысить тосность???(алгоритм опимизирован!!!) |
|||
|
||||
| sergejzr |
|
|||
![]() Un salsero Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
1) Это значит, негативная бесконечность.
2) Точность повысить можно с пом. специальных библиотек, но они очень медленные, так как простейшие действия как сложение, умножение делаются "ручками" в коде (типа как мы делаем это столбиком), а не процессором. А doubl самый точный тип с которым процессор напрямую может работать. Но сперва необходимо выяснить, какая именно точность тебе нужна ;) |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
И позитивная соответсвенно (как я понимаю)... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
| maxim1000 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3334 Регистрация: 11.1.2003 Где: Киев Репутация: 17 Всего: 110 |
когда решается какая-то задача на компьютере, погрешность появляется из-за двух причин:
1. недостаточность точности при сохранении конечного результата 2. погрешности при вычислениях для того, чтобы решить первую проблему выход единственный - менять тип результата, наверняка, придется менять тип и промежуточных переменных это медленно... зато для второго варианта есть один подход... погрешности при вычислениях с double обычно имеют относительный характер, т.е. при уменьшении числа абсолютная погрешность его тоже уменьшается для СЛАУ делают так: 1. решают ее обычным методом, т.е. находят x: Ax=b 2. получают на самом деле |Ax-b| маленькая, но не нулевая 3. решают задачу: Ay=e (e=Ax-b) в качестве более точного решения берут вместо x x-y получается A(x-y)=Ax-y=b+e-e=b на самом деле, Ay не точно равно e, поэтому точность последнего равенства тоже не абсолютная, но преимущества все равно есть: во втором процессе вычислений участвуют меньшие числа, а потому абсолютная погрешность получается меньше... конечно, ничто не спасает от погрешности при сохранении результата, но тут, как я уже писал, кроме замены типа на более точный врядли что-то придумается... хотя опять же, даже если и заменять, то можно провести такую пару вычислений и "собрать" только в конце более точные значения из пары менее точных... тогда можно будет сделать не такой сильный скачок в длительности работы алгоритма, правда, за счет точности... Это сообщение отредактировал(а) maxim1000 - 21.10.2005, 00:16 -------------------- qqq |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
long double точнее double
-------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| pablo |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 320 Регистрация: 12.2.2005 Где: Вильнюс, Литва Репутация: 4 Всего: 6 |
На некоторых компиляторах точности могут совпадать -------------------- Первый блин всегда похож на сферу, иногда бывает и куб. |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Весьма на некоторых надо полагать.
В борле и гнусе различаются точно. В вязанке афаир тоже. Другие не щупал. зы. float <= double <= long double и йожик с ними это конечно хорошо, но всё же точнее лонг дабла типа не найти afaik. Это сообщение отредактировал(а) Mayk - 21.10.2005, 18:30 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
ИМХО тут порядок вычислений может влиять на точность.
a*b/c с точки зрения математики, пофигу в каком порядке считать. А если, скажем, число C - бесконечно малое, то делить на него лучше меньшее из A и B, чтобы погрешность сократить. |
|||
|
||||
| cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 2 Всего: 99 |
"ИМХО" можешь убрать, т.к. это факт. -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |