-
Data: 2014-04-30 08:30:58
Temat: Re: Liczby całkowite zmiennej długości
Od: Borneq <b...@a...hidden.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu 2014-04-29 23:05, bartekltg pisze:
> To niech tworzą system pozycyjny o podstawie 255,
> a liczba "FF" odpowiada spacji. Dla liczb większych
> niż 255^7 = 7e16 jest to sposób oszczędniejszy.
> Oczywiście liczbę bitów przeznaczonych na cyfrę
> można modyfikować, dobierając do potrzeb.
Może kodowanie arytmetyczne:
strumień bitów, kod końca liczby, kod zmiany znaku (zwykle po sobie mają
ten sam znak) oraz każda liczba (oprócz zera) będzie zaczynała się od
jedynki - można ja pominąć dodatkowo kod rzadko występującego zera.
0 i jedynka - prawdopodobieństwo 114/256
zero - 1/256
zmiana znaku - 4/256
znak końca liczby - 23/256
To by było optymalne zakodowanie: na jedną liczbę przypadało by prawie
równo 16 bitów,
tak więc liczba miała by 9.64 bita ale zakodowana za pomocą 11.25 bita,
do tego dochodziłby narzut w postaci 3.476 bita jako znacznik końca
liczby do każdej liczby, nie mówiąc o znacznikach zmiany znaku
To jest rozwiązanie optymalnie entropicznie, ale nie podoba mi się że
przy każdej liczbie niemal 3.5 bita musi być znacznika końca, w mojej
prostszej wersji liczby leciały bez znacznika bo każda liczba tyle samo
bitów, poza tym 16% narzut na same bity liczby bo prawdopodobieństwo
każdego bitu to 44% a nie 50%
Myślę że metoda entropiczna nie uwzględnia tego że w każdym obiekcie
rozkład długości liczb skupia się między 10 a 15 bitów a nie jest od 0
do nieskończoności.
A tak to optymalne zdaje się że jest gorsze od kodowania po maksymalnej
długości delty w elemencie.
Następne wpisy z tego wątku
- 30.04.14 08:37 Wojciech Muła
- 30.04.14 09:32 Maciej Sobczak
- 30.04.14 13:22 bartekltg
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-15 przegląd za mną
- 2025-03-15 Na co komu okna
- 2025-03-15 Mój elektryk
- 2025-03-15 Fejk muzyczny czy nie fejk
- 2025-03-15 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-15 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-15 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-03-15 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+ experience) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-03-15 KOMU w RP3 pasuje "Rumuńska łatwość gmerania w wyborach" i dlaczego nie PO-Trzaskanym?
- 2025-03-15 China-Kraków => Key Account Manager IT <=
- 2025-03-14 Spalił się autobus :-)
- 2025-03-14 Policjanci z Piątku
- 2025-03-14 Lublin => JavaScript / Node / Fullstack Developer <=