eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingLiczby całkowite zmiennej długościRe: Liczby całkowite zmiennej długości
  • Data: 2014-04-30 13:22:14
    Temat: Re: Liczby całkowite zmiennej długości
    Od: bartekltg <b...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    On 30.04.2014 08:30, Borneq wrote:
    > 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

    Wzięcie 0 i 1 to dość głupi pomysł. W zasobożernym kodowaniu
    arytmetycznym ujdzie, ale przy huffmanie dostaniesz
    jednobitowy kod zera i dwubitowy kod jedynki. I dla długiuch
    liczb leżymy.
    Weź większe paczki za symbol.

    Znak zera jest niepotrzebny. Zero to koniec '0''K'
    albo nawet sam znak końca. Jeśli wystąpią dwa po kolei, to znaczy,
    że było tam zero.

    > 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.

    Każda metoda uwzględnia to, co jej powiesz.

    Teraz trzeba wziąć symbole '0'-'n' i sprawdzić, dla jakiego n będziesz
    miał najlepszy wynik.
    ponieważ liczby są krótkie, znak końca linii pewnie wyjdzie jednobitowy,
    czyli, jak rozmawialiśmy wcześniej, praktycznie dostaniesz to
    amo co używając jednego bitu za znacznik 'jeszcze jedna cyfra'
    w kodowaniu 8 lub 16 bitowym.
    Jeśli rzeczywiśćei skupiają się do 15 bitów, a mniej niż 9 prawie
    nigdy nie mają, zastanowiłbym się nad użyciem 15+1 bitów,
    wtedy prawie na pewno użyjesz 16, a używając 7+1 prawie nic
    nie oszczędzasz, bo jednocyfrowe (7 bitopwa cyfra) zdarzają
    się rzadko.


    > A tak to optymalne zdaje się że jest gorsze od kodowania po maksymalnej
    > długości delty w elemencie.

    Nie wiem, co do dlugość delty. Odnosisz się do jakeijś poważniejszej
    metody podanej w tym watku, czy do interpretacji tych danych (której
    nie znamy;p)

    pzdr
    bartekltg


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: