Algorytmy pierwiastkowania na 6502 ograniczają się do przybliżonych wartości pierwiastka i reszty z pierwiastkowania, na przykład dla wartości 240 (pierwiastek to 15,491933)
otrzymujemy pierwiastek 15 i 15 reszty.
Potrzebowałem aby resztę z pierwiastkowania zamienić na jakąś wartość użyteczną dla obliczeń (w moim przypadku obliczeń odległości odcinka) i okazało się, że działanie:
R=Rem/(F*2)
Gdzie R to ułamkowa wartość reszty z pierwiastkowania, Rem to reszta z pierwiastkowania a F to całkowita wartość pierwiastkowania
Daje całkiem nieźle przybliżony wynik reszty z pierwiastkowania
dla liczby 240
otrzymujemy Rem=15, F=15, a więc 15/(15*2) daje 0,5, co w porównaniu do wartości 15,491933 daje błąd 0,008
zaś dla liczby 1000, której pierwiastek to 31,62277
otrzymujemy Rem=39, F=31 a więc 39/(31*2) daje 0,62903 co w porównaniu do wartości 31,62277 daje błąd 0,006
---
Myślę, że jest to dość przydatne, gdy potrzebujemy zamienić resztę z pierwiastkowania na ułamek dziesiętny.
Można by się też pokusić o algorytm pierwiastkowania, który miałby stablicowane jedynie wartości pierwiastkowania bez reszty i używałby dzielenia do określenia reszty z pierwiastkowania, dzielenie jest o wiele szybsze od pierwiastkowania.
Altirra 4.40 test 18 Kolejna wersja testowa najlepszego emulatora ośmiobitowców.
Atari ST Bad DMA - możliwe rozwiązanie? Nowa wersja sterowników ICD Tools może w końcu rozwiązać problem Bad DMA, dręczący Atari STE od lat.
Fujisan - nowy interfejs do Atari800 Nowy frontend do emulatora Atari800, Fujisan, zapewnia natywne doświadczenie na macOS, Windows i Linux.
Echa Xenium, demo na Atari Lynx! Atari z sukcesami na Xenium 2025. Sprawdź nagrodzone produkcje z konkursów.
Steem SSE 4.2.0 R3 dostępny Kolejna aktualizacja emulatora Atari ST Steem SSE, tym razem z drobnymi poprawkami błędów.