Witam
Poszukuję sposobu na duże zmniejszenie użycia pamięci tego kodu
http://4programmers.net/Pastebin/3420

- Rejestracja:ponad 12 lat
- Ostatnio:ponad 4 lata
- 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.
http://4programmers.net/Pastebin/3424
nowy past

- Rejestracja:ponad 12 lat
- Ostatnio:ponad 4 lata
- 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:prawie 13 lat
- Ostatnio:ponad 8 lat
- 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:ponad 10 lat
- Ostatnio:ponad 10 lat
- Postów:9
no_name wydaję mi się jednak, że zrobienie tego twoim sposobem, zużyje więcej pamięci.

- Rejestracja:ponad 10 lat
- Ostatnio:ponad 10 lat
- 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
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.
std::bitset
?uint64_t
istd::string
.