Verarscht ihr ihn jetzt alle, oder hab ich ein Brett vorm Kopf? (Aus dem
Standardumgangston hier im Forum schließe ich leider wohl mal eher auf
ersteres...)
Mein Vorschlag wäre:
1 | if (messwerte[2]&&0b00001000)
|
Noch schönere Alternative (und exakt gleichwertig, aber lesbarer):
1 | if (messwerte[2]&&(1<<3))
|
Das sollte theoretisch reichen, oder? Von sowas wie
1 | if ((messwerte[2]&0b00001000) == 0b00001000)
|
würde ich allerdings abraten, da das höchstwahrscheinlich messwerte[2]
verändert.
Bei AVRs (kann ohne Controllerangabe ja nur raten...) gibt es aber auch
den sbrs-Befehl (*S*kip if *B*it in *R*egister is *S*et). Wie man das in
C direkt einbaut weiß ich allerdings nicht.
Für den Test, ob das Bit nicht gesetzt ist, bietet sich die Negation an:
1 | if (!(messwerte[2]&&(1<<3)))
|
Gruß, CowZ