[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