Dokładność obliczeń i nieskończoność

0

Mam do wykonania bardzo dokładne obliczenia. Chociaż korzystam z typu extended, nie wychodzi to tak jak powinno. W obliczeniach korzystam z pierwiastkowania i potęgowania głównie. Czy Delphi w trakcie takich obliczeń może zaokrąglać wartości? I jeżeli tak, to jak ten problem ominąć. Jaką największą dokładność można uzyskać.
Jest coś takiego jak Infinity, czyli nieskończoność
const Infinity = 1.0 / 0.0;
Jeżeli potrzebuję wielkości nieskończenie małej, to czy mogę skorzystać po prostu z 0.0 ?

0

To nie Delphi zaokrągla tylko kooprocesor matematyczny. Extended daje największą możliwą dokładność wspieraną sprzętowo. Możesz to ominąć samemu, implementując działania na tak dużych obszarach pamięci jak chcesz (ale obliczenia oczywiście wolniejsze), ręcznie.

Jeśli wynik działania w kooprocesorze jest mniejszy niż najmniejsza liczba, jaką potrafi przedstawić w postaci niezerowej, on sam też zwraca zero (analogicznie - jeśli wynik jest większy niż największa dostępna, zwraca nieskończoność).

0

Przede wszystkim: Chcąc rozwiązywać coś z nieskończoną dokładnością, musiałbyś robić to analitycznie. Stąd wniosek, że zwykłe zapisywanie liczb Ci nie pomoże. Musisz jakoś zaimplementować liczenie analityczne, przy czym "liczba" musiałaby mieć możliwość zawierania dowolnej liczby, którą można zapisać analitycznie, co może być dość skomplikowane...

1 użytkowników online, w tym zalogowanych: 0, gości: 1