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