Hallo,
ich programmiere seit mittlerweile 1 Jahr, aber ich hatte schon immer ein Problem mit den Bit-Operatoren. Nun habe ich einfach ganz schnell ein Programm geschrieben, dass überprüfen soll ob die Bits 3, 5, 9 gesetzt sind.
Das Programm
Das Programm 2
Danke im voraus
ich programmiere seit mittlerweile 1 Jahr, aber ich hatte schon immer ein Problem mit den Bit-Operatoren. Nun habe ich einfach ganz schnell ein Programm geschrieben, dass überprüfen soll ob die Bits 3, 5, 9 gesetzt sind.
Das Programm
Und jetzt ist das Proble, dass wenn diese 3 Bits gesetzt sind, es die else-Verzweigung ausführt. Nun kann ich das einfach umdrehen, dass es so aussieht.#include <stdio.h>
int main(void)
{
int x;
if( x & (3) && (5) && (9) )
{
printf("Diese 3 Bits wurden bei ihrer Zahl: %d gesetzt.");
}
else
{
printf("Diese 3 Bits wurden NICHT gesetzt");
}
system("PAUSE");
return 0;
}
Das Programm 2
Aber ich will auch verstehen, warum es mit dem 1. Programm nicht funktioniert.#include <stdio.h>
int main(void)
{
int x;
if(x & (3) && (5) && (9)
{
printf("Diese 3 Bits wurden bei ihrer Zahl: %d gesetzt.");
}
else
{
printf("Diese 3 Bits wurden NICHT gesetzt");
}
system("PAUSE");
return 0;
}
Danke im voraus