kann jemanden mir sagen, wie ich ein bit aus einem Byte auslese. int Variable =0xAA; int Position; int Ergebnis; Beispiel:das 2 bit auslesen und in einer Variable speichern
int Variable =0xAA; int Position = 2 int Ergebnis = ( Variable >> Position ) & 1
du musst das Byte mit einer Bitmaske verunden! Dann hast Du an der Stelle, an welcher das gewünscht bit sit, entweder eine "1" oder eine "0". Bei Bedarf kann man das Bitt dann noch nach rechts schieben dass es an erster Stelle kommt, also 2^0. variable 0xAA Bit2 0x04 // von null ab gezählt, sonst 0x02!? Ergebnis = 0xAA & 0x04; Ergebnis wäre hier 0x00; Bit Nr 1 Ergebnis = 0xAA & 0x02; Ergebnis = 0x02; Ergebnis >>= 1; Ergenis jetzt "true"!
unbekannt schrieb: > Beispiel:das 2 bit auslesen und in einer Variable speichern Welchen Typ hat die Variable? Su solltest vorteilhafterweise so sagen: Wenn das 2. Bit nicht gesetzt ist, dann soll eine Variable den Wert 0 haben. Ist es gesetzt, soll sie einen Wert ungleich null haben. Dann geht es nämlich ganz einfach:
1 | uint8_t Bit = Bithaufen&(1<<Position); |
Und abgefragt wird dann so:
1 | if (Bit) // Bit gesetzt |
2 | {
|
3 | ...
|
4 | }
|
5 | |
6 | if (!Bit) // Bit = 0 |
7 | {
|
8 | ...
|
9 | }
|
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.