-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
OSTED!not-for-mail
From: bartekltg <b...@g...com>
Newsgroups: pl.comp.programming
Subject: Re: Problemik nie całkiem teoretyczny
Date: Mon, 6 Aug 2018 21:03:20 +0200
Organization: ATMAN - ATM S.A.
Lines: 41
Message-ID: <pka61p$hd2$1@node1.news.atman.pl>
References: <pk3omv$7ir$1@news.icm.edu.pl>
<a...@g...com>
NNTP-Posting-Host: 89-70-113-215.dynamic.chello.pl
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
X-Trace: node1.news.atman.pl 1533582201 17826 89.70.113.215 (6 Aug 2018 19:03:21 GMT)
X-Complaints-To: u...@a...pl
NNTP-Posting-Date: Mon, 6 Aug 2018 19:03:21 +0000 (UTC)
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
Thunderbird/52.9.1
In-Reply-To: <a...@g...com>
Content-Language: en-GB
Xref: news-archive.icm.edu.pl pl.comp.programming:212642
[ ukryj nagłówki ]On 06.08.2018 15:13, Maciej Sobczak wrote:
>> Takie małe coś, akurat na wakacje:
>
> Skoro wakacje, to...
>
>> Ciąg liczb zmiennoprzecinkowych 64 bitowych powstał po pomnożeniu
>> przez niezerową stałą ciągu liczb stałoprzecinkowych 16-bitowych.
>> Czy istnieje prosta metoda kompresji, taka że nie znając tej
>> stałej, można ograniczyć liczbę przesyłanych bajtów? Tzn. przy
>> 1000 liczbach przesłać (niewiele ponad) 2000 bajtów zamiast
>> 8000?
>
> Chyba nie ma sensu szukać tego mnożnika, bo np. mając w ciągu liczby 10.0 i 20.0
nie wiemy, czy oryginałem było 1 i 2 z mnożnikiem 10.0, czy może 2 i 4 z mnożnikiem
5.0.
Tego nie, ale bez większych trudności znajdziesz mnożnik będący
oryginalnym mnożnikiem razy największy wspolny dzielnik wszystkich
danych.
Taki mnożnik jest równie dobry do przesłania, a po drugiej stronie
i tak obchodzi nas tylko iloczyn danych i mnoznika, więc nie ma różnicy.
> Więc może wiedząc z góry, jakie jest ograniczenie na liczbę różnych wartości
(16bit), warto je poukładać w kubełkach i przesyłać numery kubełków? Może się okazać,
że oszczędność będzie jeszcze większa, jeśli nie wykorzystano wszystkich 2^16 różnych
wartości a dodatkowym bonusem jest fakt, że to działa nawet wtedy, gdy skalowanie nie
było liniowe (co obejmuje również zaokrąglenia przy skalowaniu). Oczywiście ciąg
numerów kubełków można dalej kompresować niezależnie, np. RLE, jeśli spodziewamy się,
że to ma sens.
>
> Problemem jest przesłanie słownika - czyli jaka zakodowana wartość jest w każdym
wykorzystanym kubełku. Pełny słownik to potencjalnie 2^16*64 bity, ale jeżeli ciąg
jest długi albo jeden słownik jest wspólny dla wielu takich ciągów, to może się
zamortyzować.
>
>> Problem powstał w związku z pytaniem: czy lepiej przesyłać raw
>> data - czy wielkości przeskalowane do fizycznych jednostek (np.
>> miliamperów na hektar i węzeł)?
>
> To zależy. Nie wiemy, co to za dane i jaka jest wymagana wierność transmisji.
Skalowanie zmiennoprzecinkowe sugeruje, że 100% dokładność nie jest wymagana, więc
może jakieś znane metody stratne (zależnie od rodzaju danych) byłyby akceptowalne. Bo
po co napinać się na dokładny transfer niedokładnych danych?
>
Da sie znacznie prościej. I liniowo.
Oczywiście trzeba wykorzystać to, że double ma znaczny zapas
precyzji w stosunku do int16_t.
pzdr
bartekltg
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
Najnowsze wątki
- 2025-01-02 Szczecin => Senior Field Sales (system ERP) <=
- 2025-01-02 Ostrów Wielkopolski => Area Sales Manager OZE <=
- 2025-01-02 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-01-01 Już nie płoną
- 2025-01-01 Digikey, SN74CBT3253CD, FST3253, ktoś ma?
- 2025-01-01 Co tam u Was
- 2025-01-01 Koder szuka pracy. Koduję w j.: Asembler, C, C++ (z bibl. Qt) i D.
- 2025-01-01 Gdańsk => Delphi Programmer <=
- 2025-01-01 Łódź => Programista Full Stack .Net <=
- 2025-01-01 Żerniki => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-01-01 Wrocław => Specjalista ds. Sprzedaży <=
- 2024-12-31 Warszawa => Spedytor Międzynarodowy <=
- 2024-12-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-01 Przypomnienie: Mini Netykieta polskich grup dyskusyjnych wer. 3.2.2
- 2024-12-31 Zamykanie konta dziecka.