Ich checke in einer if-Bedingung den Wert eines Bits in einem Register:
Bei dieser Bedingung weißt mich meine IDE darauf hin, dass diese nie wahr werden kann? Ich verstehe aber nicht warum. Denn wenn ich den Vergleich mit "ist es 1" weglasse, dann wird die Bedingung wahr? Aber wenn ich den Vergleich weglasse, heißt es doch auch nur: das if wird true,1,wahr wie auch immer wenn eine 1 herauskommt und false,0,falsch wenn eine 0 herrauskommt? Wieso funktioniert es dann nicht, wenn ich noch den Vergleicher zusätzlich hinschreibe?
Hab ich evtl. einen Denkfehler?
if((GROUP->REG & 1 << POS) == 1) {action}