Witam
Chciabym napisać klase do obsługi liczb o dowolnej wielkości (coś jak typ long w pythonie), może ktoś pisał coś takiego i wie jak się do tego zabrać, może jakieś ciekawe linki ?
http://4programmers.net/file.php?id=1757
Jakby co to korzystaj z wyszukiwarki !!
thx z link ale nie chodzi mi o sam kod (który ma 1700 linijek 8-0 ) ale ogółem o idee, opis algorytmu...
ogolna zasada jest prosta: deklarujesz tablice, w ktorej jeden element odpowiada jednej cyfrze liczby.
Kamel napisał(a)
thx z link ale nie chodzi mi o sam kod (który ma 1700 linijek 8-0 ) ale ogółem o idee, opis algorytmu...
Hmm a może zamiast całej liczby wpisywać zera i jedynki? Takie coś zajmowałoby duużo pamięci ale być może byłoby szybsze?
Znalazłem też troche o arytmetyce modularnej, ale jak takie coś można przekształcić w stringa?
Ble napisał(a)
ogolna zasada jest prosta: deklarujesz tablice, w ktorej jeden element odpowiada jednej cyfrze liczby.
albo inaczej, deklarujesz dynamiczna tablice, ktorej rozmiar mozesz zwiekszac, badz zmniejszac zaleznosci od potrzeb i wielkosci liczby, a w tablicy tej liczbe kodujesz w standardowy binarny sposob. to daje takie ulatwienie, ze gdy tablica ma rozmiar 1/2/4/8 (/16/kiedys int bedzie mial na pewno 64 bajty :> ) bajtow to po prostu mozesz ja rzutowac na konkretny typ staloprzecinkowy i wykorzystujesz wtedy najzwyklejsze operatory przeznaczone dla tego prostego typu. przy niestandardowych rozmiarach trzeba juz myslec, ale ogolne algorytmy bitowe na podstawowe operacje arytmetyczne sa dostepne w internecie (pomine operacje binarne, bo to banal )