Witam
Poszukuję sposobu na duże zmniejszenie użycia pamięci tego kodu
http://4programmers.net/Pastebin/3420
zużycie pamięci
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
vector<bool>?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2412
O czym? Zrobienie tego jest serio proste.
0 - 0000
1 - 0001
2 - 0010
3 - 0011
4 - 0100
5 - 0101
6 - 0110
7 - 0111
8 - 1000
9 - 1001
Do tego robisz jakas klase, ktora opakowuje operacje wyciagania tych liczb z charow, podmieniasz to z obecnym stringiem i gotowe.
- Rejestracja: dni
- Ostatnio: dni
no_name, mimo wszystko nie rozumiem twojego rozwiązania, przecież podanie ciągu binarnego do tej funkcji da zły wynik
- Rejestracja: dni
- Ostatnio: dni
tutaj chodzi o liczby, rzędu 50000 cyfr, więc typy liczbowe nie wchodzą w gre
- Rejestracja: dni
- Ostatnio: dni
http://4programmers.net/Pastebin/3424
nowy past
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
Jak ktoś jest w stanie dokładniej wytłumaczyć sposób no_name to proszę o priv
- Rejestracja: dni
- Ostatnio: dni
- Postów: 2412
Nie wiem zbytnio czego nie rozumiesz.
#Robisz sobie typ, ktory trzyma wewnetrznie jakis bitset/tablice charow/whatever.
#W kazdy jeden bajt wkodowujesz 2 liczby (1 gornej czesci oktetu, 2 w dolnej czesci oktetu)
#Definiujesz potrzebne ci operacje arytmetyczne
#Modyfikujesz swoja funkcje, zeby korzystala z nowego typu.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Kraków
- Postów: 467
Nie lepiej zrobić to w innym systemie liczbowym? (najlepiej jakiś istniejący bignum, np GMP)
Będzie wydajniej i zużycie pamięci będzie dużo mniejsze.
http://www.wolframalpha.com/input/?i=log%282^64%2C+10^50000%29
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
no_name wydaję mi się jednak, że zrobienie tego twoim sposobem, zużyje więcej pamięci.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 9
Jednak zostanę przy tym sposobie co mam, jednak staram się jakoś zmienić algorytm, aby nie wychodził mi poza zakres tablicy na końcu mnożenia [z-1] - if nie wchodzi w grę bo za bardzo opóźni program
http://4programmers.net/Pastebin/3427