Väčší rozsah ako longint

Programovacie jazyky, rady, poradňa...
Pilifo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 7001
Registrovaný: 12 okt 2007, 16:41
Kontaktovať používateľa:

Väčší rozsah ako longint

Príspevok od používateľa Pilifo »

Neexistuje nejaký spôsob, ako by som mohol do číselného typu v Pascale zapísať napr. súčin 5^20 x 5^20?

Čítal som niečo o Russian Multiplication, ale neviem, či by mi to pomohlo. Keby niekto vedel nejaký návod, príp. hodil link, bol by som rád :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

pokiaľ viem, je to iba algoritmus na zjednodušené vypočítanie takýchto vysokých súčinov, ale výsledok ti ti aj tak vráti v nejakej návratovej premennej, čiže toto ti nepomôže. Neviem si predstaviť načo je ti rátať takéto veci, ale zrejme ti to žiaden štandartný údajový typ neobsiahne. Možno by sa dala spraviť vlastná štruktúra (lineárny zoznam smerníkov). Raz sme tak v škole robili zadanie na vynásobenie dvoch lubovolne veľkých čísel v delphi. Ak ale nie si dosť skúsený v programovaní, neviem či by si sa do toho mal púšťať.
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Príspevok od používateľa programator »

Ano, v tomto pripade by pomohol asi BCD format cisel v Byte, kt. by si mohol ukladat do linearneho zoznamu (ak by to malo byt variabilne pre lubovolny vstup), alebo ak mas pevne stanoveny max. pocet miest, kt. dane cislo moze dosiahnut, zrejme by stacilo pouzit dynamicke pole. Napr. v delphi je mozne pole dynamicke pole alokovat pomerne jednoducho pomocou proc. SetLength...
Pocitaj vsak s tym, ze budes musiet programovat danu matematicku operaciu sam a tak isto sa pochopitelne rapidne znizi rychlost vypoctu...
Pilifo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 7001
Registrovaný: 12 okt 2007, 16:41
Kontaktovať používateľa:

Príspevok od používateľa Pilifo »

Tak potreboval som zistiť ciferný súčet takéhoto veľkého čísla, ale podarilo sa mi to po tom, ako som nad tým trošku pouvažoval :)
caesar1987
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3001
Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:

Príspevok od používateľa caesar1987 »

skus najst na nete bignumb triedy :)
Napísať odpoveď