Posted By: Xyster (X! [({})]) on 'CZprogram'
Title:     Re: posuv v ramci 6 bytu (c)
Date:      Thu Feb  3 09:18:24 2005

> 
> > Hmm, asi nejak takhle by to melo fungovat
> > unsigned char* data;
> > for ( int i=0; i<length-1; ++i ) {
> >   data[i] = ( data[i]<<1 ) | ( data[i+1]>>7 );
> > }
> > data[length-1] <<= 1;
> > 
> > Snad jsem se neupsal :)
> 
> Jo, az na, ze me jde o to, aby se to prelozilo co nejeefektivneji,
> coz znamena jednu rotaci vlevlo na kazdy byte.
Obavam se, ze na tohle bude treba assembler
> Takhle mi jich to (pokud prekladac nebude opravdu genitalni, coz
> pochybuju) udela na kazdy byte 8 (ten mikrochip neumi jiny rotace,
> nez o 1 bit).
Zas tak strasne to nebude, kompilatory pro jednocipy vynakladaji docela dost 
usili na rozumny preklad bit. posunu.  ((i<<1)||(i>>7)) treba prelozi jako 
rotaci.  

> No nic, asi se budu muset jit naucit vnoreny assembler do gcc...
> co jsem zatim videl to moc vabne nevypada :(((
Celkem to jde. A kdyz se to clovek nauci, je to neuveritelne ucinny nastroj ...

> Chomer
> 
>                                                  Hodlam vytmavovat.
Xyster

42

Search the boards