Szukam biblioteki do wielkich liczb w C++

0

Witam wynajmę kogoś kto zrobi mi bibliotekę w c++. Chodzi o big int. Chciałbym żeby ktoś napisał bibliotekę za pomocą której bez żadnych problemów zadeklaruje sobie w c++ Big_int liczbę o nieskończonej długości którą ograniczy ram :D(zaczerpując z jakiejś szybkiej biblioteki która przelicza jak najszybciej). chciałbym żeby można było dodawać odejmować z innymi typami czyli generalnie arytmetyka (=,-,*,/,%) i konwersją typów plus skróty np x+=y; i np x++;. Dalej żeby Big_int działało tak samo jak zwykły int w kwestii logiki <,>,==,!=,!.Dalej żeby normalnie można było przydzielić pamięć dynamicznie new... i potem delete... żeby ta pamięć się zwalniała z ramu. Co jeszcze... żeby można zrobić tabelkę z tej zmiennej znowu tak jak ze zwykłą zmienną. I żeby działało plik txt >>Big_int i plik txt<<Big_int. jak będę wstawiał Big_int do pętli żeby pamięć dziwnie nie puchła. poza tym z dodatkowych spraw chyba funkcja żebym potem nie żałował ;) sqrt(x); pierwiastek kwadratowy całkowity domyślnie a z parametrem może być dowolnego stopnia. wszystko to na linuksa korzystam z Ubuntu z terminala... g++. żebym do kompilacji nie musiał wypisywać nie wiadomo czego tylko g++ plik.txt a w inkcludach jeden żeby był góra dwa :D
w C++ wszystko się da jak się ktoś zna. Ile to by kosztowało?

0

A dlaczego nie możesz użyć gotowej?

0

można ale jak? zawsze coś niedziała

0

o to zapłacę jak ktoś mnie nauczy :D wyjdzie taniej i szybciej

1

Zawsze? Ja jednak obstawiałbym, że GNU MP będzie działać. Biblioteka napisana w C, ale jestem przekonany, że kilka wrapperów C++ się znajdzie.

0

ja używam c++ do matematycznych obliczeń wiem co nie co o podstawach c++ więc nie ogarne tego sam

0

Ile płacisz janusz?

1

Użyj Boost.Multiprecision i nie będziesz musiał nawet bawić w pisanie wrapperów.
https://wandbox.org/permlink/xE8cBDBDLFF3xKkX

0

słyszałem o bibliotece Boost chciałem książkę kupić ale za skomplikowana dla mnie da się to przerobić żeby normalnie się deklarowało jak zwykłą zmienną?

1

A co jest niezwykłego w poniższym? Nic takiego nie widzę, więc musisz mi wytłumaczyć.

bm::cpp_int factorial(int n, bm::cpp_int total = 1)
{
    return n <= 1 ? total : factorial(n - 1, total * n);
}
0

jakaś funkcja która co zwraca?

1

Mam wrażenie że nie chce ci się odpalić googla żeby sprawdzić nawet najtrywialniejszych problemów. Factorial to silnia, ale to nie ma znaczenia, bo to tylko przykład. cpp_int to typ z Boost.Multiprecision, implementujący big integery.

0

mam książkę szkoła programowania język C++ Stephen Prata wydanie V. I umiem wszystko szczegółowo od początku do rozdziału chyba 9 co są przestrzenie nazw i to mi starcza do takich swoich programów... nie programowałem nie wiadomo jak ani też C nie znam

0

Świetnie. Prosiłeś o bibliotekę w C++, dostałeś bibliotekę w C++, zapewniającą przeładowania operatorów itd. W czym jest problem?

0

nie wiem jak z niej korzystać i dodać do swojego programu żeby mógł łatwo deklarować takie duże zmienne

0

To poczytaj trochę na ten temat. Z każdą napisaną przez kogoś biblioteką będziesz musiał jakoś sobie poradzić.

0

chciałbym mieć tak żeby do moich programów dodać includ ... zamienić long int na big_int i zwiększyć pętle z 1000 przejść na np 1000000000 i żeby liczby były wielkie

1

Ktoś już zaproponował Pythona, ale tylko w komentarzu, więc pytający mógł to przeoczyć... I uważam, że Python rozwiąże Twoje wszystkie problemy... No może nie wszystkie, ale te z big intem owszem :D

Zobacz:
https://ideone.com/WoO3Cr

0
Adam Szczepański napisał(a):

chciałbym mieć tak żeby do moich programów dodać includ ... zamienić long int na big_int i zwiększyć pętle z 1000 przejść na np 1000000000 i żeby liczby były wielkie

Zadałeś sobie trud przeczytać to co napisałem? Przecież dokładne to dostałeś...

0

że z czym co napisałeś może strona mi się nie odświeżyła...

naprawde Boost jest takie proste no muszę poczytać

0

no już wiem kolega mi jeden podpowiedział no to tak jakby ktoś chciał wiedzieć...
sudo apt-get update
sudo apt-get install libgmpxxv4-4
i
#include<gmpxx.h>
#include<gmp.h>
kompilacja
g++ -Wall -std=c++11 plik.cpp -lgmpxx -lgmp
deklaracja
mpz_class a;
a="54234523452345234524352345243";
i wsztstko
na razie testuje
kolega zarobił 100zł :P

0

Dostałeś tu rozwiązanie za darmo i zapłaciłeś za mniej wygodne? Zaczynam uważać, że to co niektórzy piszą o piekarzach ma sens.

0

po prostu odezwał się kolega który to dla mnie ogarniał i powiedział działa to tak i tak a tego bost nie zdążyłem ogarnąć tego cpp_int z Boost.Multiprecision

0

Ja nie ogarniam tego co piszesz... Dobrze, że znaleźliście wspólny język...

0

czego nie ogarniasz? umiem C++ do podstaw szczegółowo nie znam się na zaawansowanym programowaniu nie jest mi też potrzebne do ciągów czy takiej tam matematyki mojej. :p
kolega powiedział mi co doinstalować jaki includ dodać jak deklarować i jak kompilować. działa nie ma listy błędów które trzeba ogarniać

przepraszam mam dyslekcje dobrze że edytor podkreśla ortografię "... umiem C++ do podstaw szczegółowo, nie znam się na zaawansowanym programowaniu, nie jest mi też potrzebne do ciągów czy takiej tam matematyki mojej ..." tak lepiej :D

0

no to teraz jakby ktoś chciał się podzielić wiedzą i używa tego boosta to jak to zainstalować, kompilować, deklarować i co dodać w includach mogę też z chęcią potestować

0

Polecam GMP lub jeśli traktujesz to poważnie to MIRACL.

1

ja się tak zastanawiam jak ty się jakąś matmą zajmujesz to czemu nie używasz narzedzi dla tego? Mathematica, matlab, mathcad czy co tam innego jest(z darmowych scilab, octave czy maxima). Z języków to przecież python.

0

Ma dysleksję, to i tak cud, że w C++ coś robi... chociaż z trudniejszymi rzeczami jak widać, potrzebuje pomocy...

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