[elektro] Dilemma

elight elight at gmail.hu
Mon Feb 2 12:15:43 CET 2015


Szia


C++ ban nem vagyok jártas, de úgy tudom az alap C utasítások és
eljárások is csont nélkül működni szoktak..

Sima kettős for ciklussal feldolgozhatod.
Kell hozzá a bitforgatás egyel balra művelet
és az említett  & (és) művelet.

pl egy byte-ra nézve
miután beolvastad  a Thum[x]  be az értékeket , ahol x = 0 .. 64 elem,

unsigned char  input_byte;
unsigned char  value_bit[8] ;

input_byte = Thumb[x];            //  Tömbelem átvétele
mask = 0b00000001;                //  mask inicializálása
for( i = 0 ; i < 8 ; i++ )              //  8 bit kiszámoló ciklus
{
     value_bit = 0;
     if(  input_byte & mask   != 0  ) value_bit = 1  ;   //  bit 
kiemelése a byte-ból ha = 1
     mask << 1;                                                         
//  mask balra forgatása
}


Tudom elég fapados , mert ezt mind szinte egy sorban is (while) le lehet 
írni,
de így jobban lárható a lényeg.
Tehát  ezt kell ismételgetni , amíg vannak feldolgozandó byteok..
Ez így szerintem nem nagy ügy.

Üdv István




015-02-02 11:46 keltezéssel, gyapo írta:
> Anonymus, you wrote:
> A> bevésődik. De már most látom, hogy pár dolog számomra azért nem teljesen
> A> egyértelmű. (pl. 8x64 byte méretű tömb, egyes bitjeinek az értékét
> A> hogyan lehet lekérdezni. Meg hasonlók)
>
> A byte beolvasása után & bitművelettel.
>      int x = 5;       // binary: 101
>      int y = x & 1;   // now y == 1
>      x = 4;           // binary: 100
>      y = x & 1;       // now y == 0
>
> A> oldani, de itt volt a vége. :( ) Szóval nagyon neki kell feküdni, az
> A> alapok aljának is.
>
> Annyira én se akarok c++ programozó lenni, csak amennyire szükséges. A
> példákból meg a reference-ből ki lehet okosodni.
>
> Üdv.: gyapo
>
> -----------------------------------------
>            elektro[-flame|-etc]
>



More information about the Elektro mailing list