Dzialania na duzych liczbach

0

Witam,
Mam do napisanie program, ktory bedzie wykonywal podstawowe dzialania (+ - * /) na dowolnie duzych, calkowitych liczbach. Wobec powyzszego bylbym wdzieczny za jakiekolwiek sugestie

0

prosze bardzo: BigInteger i BigDecimal

0

sorry zapomnialem dopisac ze nie moge kozystac z tych klas :D

0

Czyzby jedno z tych inteligentnych zadan na cwiczenia "napisz cos ale nie korzystaj z klasy xx" co oznacza implementacje tej klasy.
Coz, zobacz jak sa napisane te klasy i zrob cos podobnego .

0

Cześć.
Kiedyś miałem podobny problem w C++.
Zrobiłem to "w słupku" liczby były wewnątrz stringami.
Po prostu dodawanie i odejmowanie zrobiłem tak, jak w słupku, czyli i-tą pozycję ze stringa a dodałem do i-tej ze stringa b plus nadmiar poprzedniej pozycji, analogicznie odejmowanie i to działało świetnie, nie pamiętam, czy udało i się zrobić dzielenie i mnożenie... ale pewnie da się je analogicznie :)

Pozdrawiam.

0

watpie zeby dzialalo swietnie, skoro dodawanie dwoch liczb sprowadziles do grzebania w stringach

0
Luno napisał(a)

watpie zeby dzialalo swietnie, skoro dodawanie dwoch liczb sprowadziles do grzebania w stringach

Wiesz, no ja to napisałem i z tego co pamiętam, a było to z 3 lata temu, to działało dodawanie i odejmowanie. Mnożenie i dzielenie natomiast już nie (nie dokończyłem tych funkcjonalności).

Natomiast powiedz mi dlaczego uważasz, że nie powinno działać?

Zasada działania jest podobna do sumatora n-bitowego. Nic trudnego.

0

Wystarczy zobaczyć źródła BigIntegera:
http://kickjava.com/src/java/math/BigInteger.java.htm

Zaimplementuj tak samo, czyli tablica intów + int znaku.

0

Prawie juz jest wszystko znaczy robie tak jak sie wykonuje te dzialania pisemnie.
tylko mam problem z dzieleniem bo mam dwie tablice int i zadnego pomyslu co z nimi zrobic :-(

0

przecieŻ dzielenie to jest odejmowanie wielokrotne

0

@Luno, niby masz rację, ale wykonywanie dzielenia
9999999999999999999999999999999999999999999999/2
lub 999999999999999999999999999999999999999999999999999999999999999999999/1
przez wielokrotne odejmowanie nie wydaje się sensowne.

0

A co w sytuacji dzielenia mniejszej liczby przez wieksza??

0

To jest proste, wynik wynosi 0.

0
bogdans napisał(a)

To jest proste, wynik wynosi 0.

ty chyba podstawowki nie skonczyles

0
Kamil napisał(a)
bogdans napisał(a)

To jest proste, wynik wynosi 0.

ty chyba podstawowki nie skonczyles

A ty chyba nie posiadłeś umiejętności czytania ze zrozumieniem tego co sam napisałeś. Liczby mają być CAŁKOWITE. Dzielenie mniejszej liczby całkowitej przez większą daje zawsze zero. A to, że reszta jest równa mniejszej liczbie to inna sprawa. A jak zamierzasz obrażać osobę, która chce Ci pomóc, to nie wiem po co się pytasz.

0
Olamagato napisał(a)
Kamil napisał(a)
bogdans napisał(a)

To jest proste, wynik wynosi 0.

ty chyba podstawowki nie skonczyles

A ty chyba nie posiadłeś umiejętności czytania ze zrozumieniem tego co sam napisałeś. Liczby mają być CAŁKOWITE. Dzielenie mniejszej liczby całkowitej przez większą daje zawsze zero. A to, że reszta jest równa mniejszej liczbie to inna sprawa. A jak zamierzasz obrażać osobę, która chce Ci pomóc, to nie wiem po co się pytasz.</quote

Przeciez przy dzieleniu dwoch calkowitych liczb nie musisz w wyniku otwrzymac liczby calkowitej !!
12/5 nie jest liczba calkowita mimo ze zarowno dzielna jak i dzielnik takimi sa

0

Jesteś niewychowany i niedouczony. Mimo to raz jeszcze Ci odpowiem: 12/5 jest w Javie liczbą całkowitą.
Dzielenie dowolnych liczb typu byte,int.long, BigInteger daje wynik całkowity.

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