-
X-Received: by 2002:a37:7a85:: with SMTP id v127-v6mr258621qkc.0.1533561201212; Mon,
06 Aug 2018 06:13:21 -0700 (PDT)
X-Received: by 2002:a37:7a85:: with SMTP id v127-v6mr258621qkc.0.1533561201212; Mon,
06 Aug 2018 06:13:21 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
0.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.
iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!e8-v6no
1716156qtp.0!news-out.google.com!w13-v6ni252qto.1!nntp.google.com!e8-v6no171615
1qtp.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 6 Aug 2018 06:13:20 -0700 (PDT)
In-Reply-To: <pk3omv$7ir$1@news.icm.edu.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=194.9.244.13;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 194.9.244.13
References: <pk3omv$7ir$1@news.icm.edu.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a...@g...com>
Subject: Re: Problemik nie całkiem teoretyczny
From: Maciej Sobczak <s...@g...com>
Injection-Date: Mon, 06 Aug 2018 13:13:21 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 48
Xref: news-archive.icm.edu.pl pl.comp.programming:212641
[ ukryj nagłówki ]> 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.
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?
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 06.08.18 21:03 bartekltg
Najnowsze wątki z tej grupy
- 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
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
- Ada-Europe Conference - 6 March Extended Final Deadline
Najnowsze wątki
- 2024-04-19 Lejek + zdalne zarządzanie, coś jak telemetria, jaka oferta.
- 2024-04-19 Warszawa => Senior Account Manager <=
- 2024-04-19 Katowice => Technical Leader (Java Background) <=
- 2024-04-19 Wrocław => Dyrektor Sprzedaży (branża usług/produktów IT) <=
- 2024-04-19 Białystok => Full Stack web developer (obszar .Net Core, Angular6+) <
- 2024-04-19 Samochód w ogniu
- 2024-04-19 Warszawa => Inżynier DevOps (projekt JP) <=
- 2024-04-19 Gdańsk => Spedytor Międzynarodowy <=
- 2024-04-19 Kraków => Java Developer <=
- 2024-04-19 Wrocław => Lider Serwisu/Programista PLC z językiem niemieckim <=
- 2024-04-19 uczcie się Anglicy
- 2024-04-19 Co sciaga kretynow
- 2024-04-19 Uziom
- 2024-04-18 Prokurator Wrzosek jest już w porządku [Bodnatura po-praworządności]
- 2024-04-18 Warszawa => Sprzedawca usług rekrutacyjnych <=