Binäres UND will nicht wie ich

Gast #1426933
Lesenswert?

Hallo zusammen!

Ich will mit einer binären UND-Verknüpfung überprüfen, ob bestimmte Bits 
gesetzt sind.
1
if(0xFF & 0x01)
funktioniert.

Definiere und initialisiere ich eine Variable
1
unsigned char cData = 0xFF;
scheitert
1
if(cData & 0x01)
aber.

Wo steckt der verflixte Denkfehler?
Danke!

Gruß
Matthias
#1427334
Lesenswert?

Hellou schrieb:

> Mhm, von manchen Compilern ist mir bekannt, dass die logische
> Operationen auf 16 Bit erweitern.

Und weshalb sollte das hier ein Problem sein?

Ein dieser Arbeitsweise entsprechendes Ergebnis ist im C Standard sogar 
ausdrücklich vorgeschrieben.

Also logische Operationen gelten in C übrigens && || !, nicht & | ^ ~

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