|
Страници по тази тема: 1 | 2 | 3 | 4 | (покажи всички)
Тема
|
Изненадка
|
|
Автор |
bira_more (бира) |
Публикувано | 20.04.10 02:55 |
|
Деля си аз на 0.0 и вместо апликейшъна да гръмне с хубав красив ексепшън, си продължава нататък ни нула ял, ни нула мирисъл.
Проекта - ЕКГ софт, който го преписвам за линукс, за кеф
Компилатор - g++ (gcc version 4.4.1) с подходящите qt библиотеки.
А на времето какви компилатори имаше .....
Bеer? Mоre?
| |
|
деленето на нула при плаваща запетая от много години има опция да минава без гърмеж. ако все пак искаш гърмеж, ползвай функцията _control87 за да сетнеш режима на работа.
NE SUTOR ULTRA CREPIDAM
| |
Тема
|
Re: е сабах хаир
[re: zaphod]
|
|
Автор |
bhdz (.)(.) |
Публикувано | 20.04.10 09:41 |
|
Е какво, операцията само NaN си връща, така ли?
---
Боговете се хранят с вяра, а вярващите с надежди.
| |
Тема
|
Re: е сабах хаир
[re: bhdz]
|
|
Автор |
zaphod (мракобес) |
Публикувано | 20.04.10 09:53 |
|
връща инфове, които за да е по-забавно не се водят нан. имам спомени че за шестица бяха нан, за горните студия обаче не са. за да се хванат може да се ползва _finite.
NE SUTOR ULTRA CREPIDAM
| |
|
Голям майтап беше с тия инфове.
| |
|
При такова деление се връща "Not a Number" или "Infinity"
Доколкото си спомням, аритметичните и логическите операции се извършват в АЛУ-то на процесора. При жава се ползва нейтив код, за да се изиска те да се смятат от процесора.
Точно за делене с плаваща точка обаче има приближение, което зависи от процесора демек 0.00000000000000000001 може да стане 0 както и подобни на това, мисля че същото важи за всички числа с плаваща точка. И това приближение при различните процесори е различно. Един начин да се сметне точно е като се ползва strictfp, за др езици сигурно има подобно. Обаче това е бавно. И сега стигаме до алгоритъма при които трябва да измислим начин как да се смята по един и същ начин, но това да не зависи от различните реализации(стойността с която приближава) на процесорите. Демек трябва да намерим това епсилон и тогава вече ще знаем че ако числото на което се дели е по-малко от епсилон то ще хвърлим аритметик ексепшън. Ама как се намираше
?
Редактирано от cristal_reaver на 20.04.10 15:32.
| |
|
брей, така като те чете човек, направо да се зачуди как въобще някой ползва флоат.
NE SUTOR ULTRA CREPIDAM
| |
|
говорим за тънките сметки, където изчисленията и закръглянията са до много голяма точност. Примерно разплащателните системи.
Все пак от заккръгляния някои печелят милиони.
| |
Тема
|
Re: е сабах хаир
[re: zaphod]
|
|
Автор |
ИлиaH (непознат) |
Публикувано | 20.04.10 18:09 |
|
а можеш ли да погледнеш този пост , какъв е проблема с тия нан-ове и как да се фиксне евентуално?
| |
Тема
|
Re: е сабах хаир
[re: ИлиaH]
|
|
Автор |
zaphod (мракобес) |
Публикувано | 20.04.10 18:16 |
|
еми от компилатора е очевидно, не ще да инициализира с нанове.
NE SUTOR ULTRA CREPIDAM
| |
|
Страници по тази тема: 1 | 2 | 3 | 4 | (покажи всички)
|
|
|