PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Byte in Bits zerlegen



salle
18.12.2006, 12:44
Hallo!

ich hätte eine Frage. Wie zerlege ich eine variable
mit zB 1byte in 8 bit? (bitte in C)

ich muss nämlich alle bits einzeln übertragen.

Danke

robocat
18.12.2006, 13:00
i wird zerlegt:

int i=13,j;
for(j=sizeof(i)*8-1;j>=0;--j)
{
char ziffer=i&(1 << j)?'1':'0';
printf("%c", ziffer);
}

batti112
18.12.2006, 13:00
Hi!

Guck dir mal ein paar Tutorials an... das sind so Standarddinge...

An die einzelnen Bits kommst du z.B. mit nem logischen "UND".



if(BYTE & 16)
{
// vierte bit gesetzt
}
else
{
// vierte bit nicht gesetzt
}


mfg
Batti

fluchtpunkt
20.12.2006, 01:27
if(BYTE & 16)
{
// vierte bit gesetzt
}
else
{
// vierte bit nicht gesetzt
}


man sollte statt (BYTE & 16) aber besser (byte & 0x10) schreiben. Das hat den Vorteil das man auch bei einer mehr als 8Bit Zahl noch erkennen kann welche Bits gesetzt sind.
Bei 0x38A00CEE sieht man nach einiger Uebung recht schnell welche Bits gesetzt sind; bei 950013166 wird das eher schwieriger. Auch so ein Standardding, das man sich von Anfang an angewoehnen sollte :)

asuro_freak2
20.12.2006, 13:59
Du suchst sowas ?
http://www.fh-augsburg.de/informatik/vorlesungen/c_cplus/tutorial/cyris/c-kurs2.htm#2_varieblenzuweisung