Problem z zero divide

O jezykach programowania w platformach i nie tylko.
wojnowy
Stały bywalec
Stały bywalec
Posty: 63
Rejestracja: 24 wrz 2010, 10:09

Problem z zero divide

Nieprzeczytany post autor: wojnowy »

Witam ponownie :),
Mam znowu nieco dziwny problem, którego nie rozumiem i bardzo proszę o pomoc bardziej doświadczonych kolegów z forum o pomoc w wyjaśnieniu dziwnej kwestii.

Mam zmienną typu dobule, którą przy pomocy referencji wrzucam do funkcji. W tej funkcji zmienna ta rośnie za każdym wykonaniem się pętli. Zmienna ta jedynie jest przemnażana przez inną zmienną a iloraz ten jest odejmowany od innej zmiennej. W funkcji nie ma żadnego dzielenia. Natomiast gdy wspomniana zmienna urośnie do około 2000 pętla jest przerywana komunikatem zero divide...
Czy wiecie może co może być tego przyczyną?

3 dni szukałem co w ogóle powoduje ten błąd (zero divide), a gdy go znalazłem (właśnie tą zmienną) pojęcia nie mam jak to jest możliwe... Jakie są jeszcze możliwości wystąpienia komunikatu zero divide poza dzieleniem przez bardzo małą liczbę (lub po prostu przez 0)?

Pozdrawiam i z góry dziękuję za pomoc
(\(^.^)/)

Awatar użytkownika
xpep
Pasjonat
Pasjonat
Posty: 844
Rejestracja: 02 gru 2007, 11:50

Nieprzeczytany post autor: xpep »

moze ta liczba przekroczyla dopuszczaly zakres dla double

a moze zle to rozkminiles i gdzie indziej jest problem z dzieleniem

a moze jedno i drugie :D

ciezko cos powiedziec nie widzac kodu :wink:

wojnowy
Stały bywalec
Stały bywalec
Posty: 63
Rejestracja: 24 wrz 2010, 10:09

Nieprzeczytany post autor: wojnowy »

hey,
myślę, że liczba double ma nieco większy zakres od 5000 (a zablokowałem możliwość zwiększania tej liczby powyżej 5000)

jest tylko jedno dzielenie w programie i tam nie ma prawa być liczby nawet bliskiej zeru

jak bym w rzucił kod to wątpię, żeby komuś się chciało go analizować -> już jest blisko 1000 linijek kodu a do końca jeszcze długa droga... Obecnie zacząłem zapisywać wszystkie wyniki w tablicy i printować je -> zobaczymy, może coś uda mi się wykryć :(
Byłem jednak przekonany, że są jakieś inne powody tego błędu i szybciej znajdę tą lukę :/

Pozdrawiam
(\(^.^)/)

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

Bez kodu faktycznie nikt Ci nic raczej nie wymysli, DEVIDE BY ZERO to devide by zero i nic raczej wiecej(bo dlaczego by mialo byc).

Jezeli jest tylko jedno dzielenie, to wstaw ifa przed to dzielenie ktory sprawdza czy aby na pewno nie jest to zero, i jezeli bedzie sie dalej blad pokazywal to trzeba bedzie bardziej pokombinowac.

Moze to blad jakiegos indykatora ktory dzieli cos przez zero a ty go w EA uzywasz.

wojnowy
Stały bywalec
Stały bywalec
Posty: 63
Rejestracja: 24 wrz 2010, 10:09

Nieprzeczytany post autor: wojnowy »

O.K. znalazłem!!! :D

Okazało się, że rzeczywiście problem był w tym miejscu, gdzie było dzielenie z tym, że mianownik był za duży lub niezdefiniowany :D tzn. prawdopodobnie osiągnął liczbę INF (nieskończoność) lub (co bardziej prawdopodobne w moim przypadku) coś w stylu NaN

Dzięki wielkie za próbę pomocy -> i naprowadzenie :).
Nie wiem czemu ale od 3 dni się z tym męczyłem i nie miałem już siły samemu tego szukać :( -> stąd ten post :D

Pozdrawiam
(\(^.^)/)

LowcaG
Pasjonat
Pasjonat
Posty: 1068
Rejestracja: 05 paź 2007, 15:39

Nieprzeczytany post autor: LowcaG »

wojnowy pisze:Nie wiem czemu ale od 3 dni się z tym męczyłem i nie miałem już siły samemu tego szuka
hehe, dobrze widziec, ze jednak znalazles. Zdradzisz w ogolnosci(bez zbednych detali), co takiego tworzysz?

wojnowy
Stały bywalec
Stały bywalec
Posty: 63
Rejestracja: 24 wrz 2010, 10:09

Nieprzeczytany post autor: wojnowy »

LowcaG pisze:Zdradzisz w ogolnosci(bez zbednych detali), co takiego tworzysz?
Ogólnie to mam teraz takie bardziej złożone plany długofalowe :). Głównym celem jest oczywiście stworzenie takiego bardziej zaawansowanego i co najważniejsze zarabiającego EA :D. Ale w między czasie chcę też zrobić trochę wskaźników, żeby zwizualizować sobie pewne rzeczy :)

Temat SSN powrócił (którym się z resztą trochę interesuję) a ja właśnie mam trochę więcej czasu i tak sobie postanowiłem, że do nich powrócę z nowymi pomysłami -> nowe funkcje (nie standardowe), nowe rodzaje, nowe podejście, nowa organizacja, nowe algorytmy (tzn. trochę zmodyfikowane), nowe zmienne itd. z moimi patentami :D.
Kiedyś miałem już trochę w tym zakresie zrobione ale przy reorganizacji kodu chyba bym się załamał :P (bo trochę nowości jest a dobrze sobie przypomnieć co i jak) więc tworzę wszystko od podstaw :-).
Bardzo mi zależy, żeby sprawdzić kilka pomysłów, które z teoretycznego punktu widzenia mają nawet jakiś sens ale nie wiem jak to wyjdzie w praktyce :/

Pozdrawiam i jeszcze raz dziękuję.
(\(^.^)/)

ODPOWIEDZ