ďťż

Ładny brzuch

Jak można przechowywać wielkie liczby w C++? Chodzi mo o liczby rzędu 10000^10 a może nawet lekko większe. W long int mieści się tylko 2^32 czyli stanowczo za mało. Pomóżcie :)

P.S. Nie moge używać dysku więc rozwiązania typu zapisuj na dysk a nie do zmiennej odpadają :)




Jak można przechowywać wielkie liczby w C++? Chodzi mo o liczby rzędu 10000^10 a może nawet lekko większe. W long int mieści się tylko 2^32 czyli stanowczo za mało. Pomóżcie :)

P.S. Nie moge używać dysku więc rozwiązania typu zapisuj na dysk a nie do zmiennej odpadają :)

Powinienes napisac wlasna arytmetyke po prostu.


Powinienes napisac wlasna arytmetyke po prostu.



Operacje na tablicach charow/intow (od 0 do 9) moim zdaniem mogłyby być, chyba że masz zamiar robić działania, które trudno przedstawić przy pomocy dodawań i ewentualnie mnożeń.


masz na mysli operacje na tablicach char'ow? :) A jak się domyślasz? :> Dodawanie etc. pisemnie na stringach :)

Niekoniecznie na tablicy charow - o wiele lepiej zrobic podstawe np. 10^9. No i spokojnie mozna taka arytmetyke wykorzystac do praktycznie wszystkich dzialan (o ile wie sie, jak ja odpowiednie szybko zaimplementowac). Na poczatek polecam ksiazke Knutha, t. 2 (chyba wiadomo, jaka ksiazka :P).

można się bawić w rozpisywanie tablic, można też przyjąć poprostu inny (o większej podstawie) system liczbowy, można te pomysły połączyć, jednak prawie w każdym przypadku implementowania własnej reprezentacji dużych liczb trzeba odpowiednią arytmetykę (działania) utworzyć. w necie jest troszkę tekstów o tym, można poszukać :)

Chyba będzie trzeba tak zrobić bo myśle o tym i myśle ale jakoś mi nic do głowy nie przychodzi :) tylko, że wydaje mi się, że to wolne rozwiązanie i pamięciożerne. Jeżeli będe przechowywał po 1 liczbie to liczbe 4294967296 to potrzebuje juz 10 bajtów (1 na cyfre), a long zajmuje tylko 4 (przynajmniej u mnie) :) ale coż innego wyjścia chyba nie ma :)

P.S. Co do __int64 to chyba nie wypali (ona może chyba chować dane do wielkości 2^64 więc nadal za mało)

P.S.2 Dzięki wszystkim :)
Użytkownik adi22 edytował ten post 13 grudzień 2005, 07:40

__int64 :) jeszcze zalezy od kompilatora :]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •