Programmierung ATMega64 Codevision

Gast #2246862
Lesenswert?

Hallo Leute.

Ich habe eine Frage.

Ich habe in einem Programmbesipiel folgende if- Anweisung gefunden:

if (!( msg[0] & (1<<BIT_0) ))
 {

 }

Definition:
msg[0] = 0b10100000
BIT_0 = 0 ist als Konstante definiert

Was passiert hier? Wird hier abgefragt ob eine logische UND Verknüpfung 
0 ergibt und dann der Inhalt der If Anweisung ausgeführt wird?

Was bewirkt der Ausdruck 1<<BIT_0?

Danke
Gast #2246875
Lesenswert?

Ich schiebe also die 1 um BIT_0 Positionen nach links. Ist das korrekt. 
Demnach muss ich folgendes tun:

 10100000
&00000001
---------
=00000000

Wäre somit die Bedingung if (!......) erfüllt? Heißt doch wenn "nicht" 
und 0b00000000 ist doch nicht!? Richtig?

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