Operacje na dowolnie duzych liczbach (pisemnie)

0

Witam :)
Od pewnego czasu proboje zaimplementowac dzialania na dowolnie duzych liczbach w slupkach (tudziez pisemnie ;) ).

Dodawanie/odejmowanie liczb dodatnich w sumie juz mam i dziala dla dowolnie duzych liczb calkowitych. Operacje na ujemnych/dodatnich otrzymuje przez zamiane dzialan. Niestety nie obsluguje liczb zmiennoprzecinkowych, a na tym mi zalezy. Ale o tym pozniej :P

Mnozenie tez w sumie mam wykorzystujac dodawanie w petli czyli tylko liczby calkowite. Mam pewne problemy z mnozeniem w slupku wiec poszedlem latwiejsza droga.

Nie wiem jak napisac dodawanie/odejmowanie pisemne ulamkow dziesietnych (mam pewny pomysl ale chyba nie tedy droga), nie mowiac juz o dzieleniu pisemnym z liczbami zmiennoprzecinkowymi, ujemnymi, dzieleniem wiekszych przez mniejsze (ulamki)

Nie odsylajcie mnie do roznych modulow obslugujacych rozn duze liczby. W mojej aplikacji nie moze byc limitu wielkosci i dlugosci liczb... W gre wchodza liczby 10^100 :)

Ciekaw jestem jak wyglada sprawa z zapisaniem innych operacji

Nie wiem czy dobrze to wszystko opisalem, ale ciezko u mnie z mysleniem ostatnio. Znaczy sie w gruncie rzeczy chodzi o funkcje w stylu

function Dodaj(A,B:string):string;
function Odejmij(A,B:String):string;
function Mnoz(A,B:String):string;
function Dziel(A,B:string):string;

Ktore jako parametry przyjmuja dowolne liczby :) Jesli to cos pomoze to moge wrzucic to co juz mam.

0

a czy ułamki to nie czasem liczby naturalne, tylko z przecinkiem w konkretnym miejscu ? czy dodawanie, odejmowanie, mnożenie, dzielenie jakoś specjalnie różni się ? masz np 1,23 + 3,5, robisz z tego 1,23 + 3,50, dodajesz pisemnie i 123 + 350 i w wyniku ustawiasz przecinek w odpowiednim miejscu. hmm ?

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