ein bit aus einem Byte auslesen

#2557526
Lesenswert?

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"!
Moderator (Firma: Titel) Persönliche Seite #2557573
Lesenswert?

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
  }

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren