Anonymní profil peter – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil peter – Programujte.comAnonymní profil peter – Programujte.com

 

Příspěvky odeslané z IP adresy 2001:718:2601:1f7:6d3a:11...–

peter
C / C++ › bitpacking
20. 3. 2015   #200537

V tom pripade by ale bylo rychlejsi pridat na konec toho pole 0 a spojovat to po dvou bez tech pomalych if. na konci by jen pridal byte, ktery rekne, jestli je na konci nula navic nebo ne. Cili, kdyz vemu ten kod z javy, tak nejak takto teoreticky
 

void compress(byte[] pic, byte[] picCompressed) {
    boolean odd = false;
    int pos = 0;
p[konec+1] = 0
li = floor(delka (pole p)/2)
for (i=0;i<li;)//    for (byte p : pic)
    {
            picCompressed[pos++] |= (byte)(quantize(p[i]) << 4);
++i;
            picCompressed[pos] = quantize(p[i]);             
++i;
//        byte b = quantize(p);
//        if (odd) {
//            picCompressed[pos++] |= (byte)(b << 4);
//        } else {
//            picCompressed[pos] = b;             
        }

//        odd = !odd;
    }       
}
peter
C / C++ › bitpacking
20. 3. 2015   #200536

Resp, oprava, on ma 0-16 celou radu a spojuje to do po dvou do jednoho byte.

peter
C / C++ › bitpacking
20. 3. 2015   #200535

a) data == recovered - to je normalni porovnani, jako vraci to true nebo false
if (data == recovered) {...} else {...}

b) google a restrict, tam musis zadat uvozovky
https://www.google.cz/search?…
ale myslim, ze bohate staci, kdyz tam zadas c++ a restrict bez podtrzitek

KIIV - to vysvetleni nechapu :)
http://stackoverflow.com/…king-in-java
Jestli to spravne chapu, tak sada cisel, co jde do te funkce je treba 0-16, 0-255, 0-16, 0-255 (4 byty). Vsechny jsou typu byte. Vystupem je pole bitu. xxxx yyyyyyyy zzzz aaaaaaaa (16 bitu, cili 2 byty).
Neni mi jasne, cim takovy vstup ziska, ale asi je to vedlejsi. to asi vi tazatel.

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý