-
1. Data: 2013-04-02 22:18:34
Temat: Dziwne systemy liczenia
Od: "Borneq" <b...@a...hidden.pl>
Na przykład base62, to chyba wszystkie litery duże i małe + cyfry
26+26+10=62
Jak konwertować na hex, czy po prostu tablicę bajtów?
Jest jeszcze base58 gdzie usunięto 0OIl które wizualnie wyglądają podobnie,
(stosuje się dla bitcoin)
Jak konwertować?
-
2. Data: 2013-04-02 23:21:29
Temat: Re: Dziwne systemy liczenia
Od: "M.M." <m...@g...com>
W dniu wtorek, 2 kwietnia 2013 22:18:34 UTC+2 użytkownik Borneq napisał:
> Na przykład base62, to chyba wszystkie litery duże i małe + cyfry
>
> 26+26+10=62
>
> Jak konwertować na hex, czy po prostu tablicę bajtów?
>
> Jest jeszcze base58 gdzie usunięto 0OIl które wizualnie wyglądają podobnie,
>
> (stosuje się dla bitcoin)
>
> Jak konwertować?
Reszta z dzielnia przez N na wyjscie a liczbe dzielimy przez N i tak
dlugo az liczba nie spadnie do zera.
Pozdrawiam
-
3. Data: 2013-04-02 23:55:14
Temat: Re: Dziwne systemy liczenia
Od: "Borneq" <b...@a...hidden.pl>
Użytkownik "M.M." <m...@g...com> napisał w wiadomości
news:c6115aaa-f8d6-495b-8fbe-6145d1dc163a@googlegrou
ps.com...
> Reszta z dzielnia przez N na wyjscie a liczbe dzielimy przez N i tak
> dlugo az liczba nie spadnie do zera.
No tak, ale czy big czy little endian? Dla liczby hex jest big, choć to nie
zawsze, bo big jest na pewno w jednym bajcie. Tutaj trzeba by konstruować
wielką liczbę, np 256 bitową, w takich językach jak Java nie ma problemu, w
C/C++ trzeba by się posłużyć specjalną biblioteką dla duzych liczb, choć
może niekoniecznie, można od razu odczytywać bajty, podobnie jak w kodowaniu
arytmetycznym, wtedy mozna zdekodować tysiące bitów, ale tego nie robiłem.
Pozdrawiam
-
4. Data: 2013-04-02 23:56:11
Temat: Re: Dziwne systemy liczenia
Od: "Borneq" <b...@a...hidden.pl>
Użytkownik "Borneq" <b...@a...hidden.pl> napisał w wiadomości
news:kjfk45$fqi$1@node1.news.atman.pl...
> No tak, ale czy big czy little endian? Dla liczby hex jest big, choć to
> nie
Jak z kolejnością? czyh najpierw cyfry, potem duze, potem małe?
-
5. Data: 2013-04-03 00:28:31
Temat: Re: Dziwne systemy liczenia
Od: "M.M." <m...@g...com>
W dniu wtorek, 2 kwietnia 2013 23:55:14 UTC+2 użytkownik Borneq napisał:
>
> news:c6115aaa-f8d6-495b-8fbe-6145d1dc163a@googlegrou
ps.com...
>
> > Reszta z dzielnia przez N na wyjscie a liczbe dzielimy przez N i tak
> > dlugo az liczba nie spadnie do zera.
>
> No tak, ale czy big czy little endian? Dla liczby hex jest big, choć to nie
> zawsze, bo big jest na pewno w jednym bajcie. Tutaj trzeba by konstruować
> wielką liczbę, np 256 bitową, w takich językach jak Java nie ma problemu, w
> C/C++ trzeba by się posłużyć specjalną biblioteką dla duzych liczb, choć
> może niekoniecznie, można od razu odczytywać bajty, podobnie jak w kodowaniu
> arytmetycznym, wtedy mozna zdekodować tysiące bitów, ale tego nie robiłem.
Nie wiem o co chodzi. Dlaczego to wszystko jest ważne?
Po prostu bierzemy reszty z dzielenia i dzielimy. A jeśli dzielimy i
bierzemy reszty, to musimy mieć algorytm który dzieli i bierze reszty.
I siłą rzeczy, algorytm ten będzie pracował na jakieś strukturze danych,
nie wiem czy na 256 bitowej liczbie, czy na bigincie w javie, czy na
zwykłym stringu, czy jeszcze na czymś innym.
Pozdrawiam
-
6. Data: 2013-04-03 16:33:28
Temat: Re: Dziwne systemy liczenia
Od: "Borneq" <b...@a...hidden.pl>
Użytkownik "M.M." <m...@g...com> napisał w wiadomości
news:fe7f4765-3728-4fad-92e8-ab11fc6d0704@googlegrou
ps.com...
> Po prostu bierzemy reszty z dzielenia i dzielimy. A jeśli dzielimy i
https://github.com/bitcoin/bitcoin/blob/master/src/b
ase58.h
-
7. Data: 2013-04-03 17:24:46
Temat: Re: Dziwne systemy liczenia
Od: "Borneq" <b...@a...hidden.pl>
Użytkownik "Borneq" <b...@a...hidden.pl> napisał w wiadomości
news:kjhejq$blv$1@node1.news.atman.pl...
> Użytkownik "M.M." <m...@g...com> napisał w wiadomości
> news:fe7f4765-3728-4fad-92e8-ab11fc6d0704@googlegrou
ps.com...
>> Po prostu bierzemy reszty z dzielenia i dzielimy. A jeśli dzielimy i
>
> https://github.com/bitcoin/bitcoin/blob/master/src/b
ase58.h
Big number w dowolnym języku za pomocą biblioteki libeay32.dll
-
8. Data: 2013-04-12 15:41:07
Temat: Re: Dziwne systemy liczenia
Od: "Borneq" <b...@a...hidden.pl>
Użytkownik "M.M." <m...@g...com> napisał w wiadomości
news:fe7f4765-3728-4fad-92e8-ab11fc6d0704@googlegrou
ps.com...
> Po prostu bierzemy reszty z dzielenia i dzielimy. A jeśli dzielimy i
> bierzemy reszty, to musimy mieć algorytm który dzieli i bierze reszty.
A jeżeli nie chcemy działać na jednej wielkiej liczbie?
Jaki algorytm? Tu będzie podobnie jak przy kodowaniu arytmetycznym przy
kompresji danych
Weżmy plik jednomegabajtowy w base58 - zamienić na bajty i w drugą stronę
-
9. Data: 2013-04-13 10:08:44
Temat: Re: Dziwne systemy liczenia
Od: "M.M." <m...@g...com>
W dniu piątek, 12 kwietnia 2013 15:41:07 UTC+2 użytkownik Borneq napisał:
> Użytkownik "M.M." napisał w wiadomości
> Weżmy plik jednomegabajtowy w base58 - zamienić na bajty i w drugą stronę
Czyli szukamy szybszego algorytmu. Hmmm nie wiem jest znany szybszy
algorytm dla konwersji liczb w dowolnych systemach pozycyjnych. Wszędzie
trąbili że trzeba dzielić i brać reszty.
Pozdrawiam
-
10. Data: 2013-04-13 21:19:15
Temat: Re: Dziwne systemy liczenia
Od: "Borneq" <b...@a...hidden.pl>
Użytkownik "M.M." <m...@g...com> napisał w wiadomości
news:6078e637-6b6e-4b3a-8d34-c2d44fd3df35@googlegrou
ps.com...
> Czyli szukamy szybszego algorytmu. Hmmm nie wiem jest znany szybszy
> algorytm dla konwersji liczb w dowolnych systemach pozycyjnych. Wszędzie
> trąbili że trzeba dzielić i brać reszty.
Tak, każdy algorytm będzie miał tyle samo dzieleń z resztą, ale jeżeli jedno
dzielenie będzie wykonywane na liczbie, która ma milion cyfr, to może długo
trwać.
Chodziło mi głównie o to aby nie używać dużych liczb, bo oprócz prostej
zamiany podstawy liczenia będą operacje na długich liczbach. Chociaż w
praktyce można się z tym pogodzić, bo już takie biblioteki zostały napisane,
np. OpenSSL.
Chodziło mi o algorytm, który połyka po kilka cyfr i wypluwa po kilka bajtów
lub odwrotnie.
Pozdrawiam