hallo Leute, wie kann ich zum Beispiel aus wert[1]=1 wert[2]=1 wert[3]=0 wert[4]=0 wert[5]=1 wert[6]=1 wert[7]=0 wert[8]=1 die binärzahl 10110011 machen? Kons
@ Cha_Ko (Gast) >die binärzahl 10110011 machen? Mit einer Schleife und Schiebeoperatioen. Siehe Bitmanipulation.
1 | tmp=0 |
2 | for (i=1; i<=8; i++) { |
3 | tmp >>= 1; |
4 | if (wert[i]==1) tmp |= 0x80; |
5 | }
|
MFG Falk
Warum machst Du denn so nen Unsinn und speicherst die Bits als int? Beschreib dochmal, was Du vorhast und nicht nen höchstwarscheinlich total überflüssigen Teilschritt. Peter
Günstiger ist es das Array von Index 8 bis 1 auszulesen und die Bits nach links zu shiften. Warum? Weil es beim Rechtshift von Datentyp von 'tmp' und MSB abhängt, ob der Prozessor eine 1 oder 0 'hereinshifted'. Gruß AKr
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.