Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Ogromne liczby

Ostatnio zmodyfikowano 2013-03-21 19:58
Autor Wiadomość
kicknoob
Temat założony przez niniejszego użytkownika
Ogromne liczby
» 2013-03-21 16:01:53
Witam , musze napisac program w ktorym uzytkownik podaje jakas liczbe po czym program obliczy pierwiastek z tej liczby . Wszystko wydaje sie proste gdyby nie to ze owa liczba moze skladac sie z 255 cyfr . Wydaje mi sie ze nie ma tak duzej zmiennej . A jedyne biblioteki jakich moge uzyc to STL, Iostream oraz cmath.
P-79012
pekfos
» 2013-03-21 16:05:08
Więc sam zaimplementuj taki typ. Dla 255 cyfr będziesz potrzebował przynajmniej 850-bitowego typu liczbowego.
P-79014
Elaine
» 2013-03-21 16:53:48
851-bitowego. 850 bitów wystarcza tylko gdzieś do 7.50752e+255.
P-79030
kicknoob
Temat założony przez niniejszego użytkownika
» 2013-03-21 17:28:15
Czy do implementacji użyc enumertorow  ? A jesli tak to w jaki sposob przypisac tak ogromna liczbe bo zapis :
C/C++
enum zmienna { zero, maxx = 7.50752e + 255 };

nie działa
P-79035
pekfos
» 2013-03-21 17:33:02
Oczywiście, że nie działa, bo nie tędy droga.
Utwórz klasę z tablicą bajtów na dane i zaimplementuj arytmetykę.
P-79036
Chlorek
» 2013-03-21 17:47:15
Zainspiruj się BigInt'em z Java'y (myślę, że znajdziesz coś w google). Aby lepiej przybliżyć o co chodzi powiem tak, stwórz klasę która będzie przechowywała twoją liczbę w formie ciągu znaków, a to właściwie daje ci nielimitowane pole do popisu. Potem tylko definiujesz operatory dodawania, odejmowania, pierwiastkowanie itd.. Oczywiście nie można dodawać ciągów znaków, więc będziesz musiał napisać algorytm który przeliczy ci to.
Trochę to mało istotne, ale myślałem ostatnio by dodać taką funkcjonalność do mojej "biblioteki" - taki pomocny zestaw klas i funkcji, zwłaszcza do operacji na różnego typu zmiennych i obiektach. Jak napiszesz coś mógłbyś się tym podzielić? - Przydałoby mi się też, a zaoszczędzi pracy.
P-79037
m4tx
» 2013-03-21 18:12:26
Jak już to BigDecimalem. Warto też wspomnieć, że klasa ta nie obsługuje nawet pierwiastkowania out-of-the-box (aczkolwiek jeśli by @autor tematu chciał algorytm do tego, to tutaj jest całkiem fajny: Demonstration of high-precision arithmetic with the BigDouble class).

EDIT:
@down
Ah chyba, że chodzi ci o liczby zmiennoprzecinkowe, jeśli tak to już wiem co miałeś na myśli.
Dokładnie tak.
P-79039
Chlorek
» 2013-03-21 19:11:03
@m4tx Czemu nie BigInteger, a BigDecimal? Sam używałem BigIntegerów i nie wydaje mi się bym coś pomylił.

#Edit
Ah chyba, że chodzi ci o liczby zmiennoprzecinkowe, jeśli tak to już wiem co miałeś na myśli.
P-79041
« 1 » 2
  Strona 1 z 2 Następna strona