# Überprüfen, ob ein Bit gesetzt ist



## MaximusMeridius (26. Dez 2007)

Hi,

ich habe eine Aufgabe, wo eine Funktion eine Array aus Longs als parameter übergeben bekommt. Die Funktion soll dan prüfen, ob ein Bit gesetzt ist oder nicht und dem entsprechend eine Ausgabe vornehmen. 


```
static void main(long [] bild)
{
long x=1;
for(int i=0;i<=bild.length-1;i++)
{
if(x&bild[i])
System.out.print(" ");
else
System.out.print("M");
x=x<<1;
}
}
```

Nur bekomm ich folgende Fehlermeldung:

incompatible types - found long but expected boolean


----------



## SebiB90 (26. Dez 2007)

& ist ein bit operator und macht halt ne bitweise undverknüpfung.
daraus kommt dann halt wieder ne zahl, bei ne if anweisung brauchste aber true oder false als ergebnis.
prüfe ob die zahl die da raus kommt gleich x ist. dann weißte ob das bit gesetzt ist.


----------



## MaximusMeridius (26. Dez 2007)

danke..das funktioniert so.. jetzt ist mein problem nur, dass er jede Zahl nur einmal überprüft... er soll aber bei jeder Zahl jedes Bit überprüfen und erst dann die nächste Zahl anschauen, wenn er alle Bits überprüft hat.


----------



## SebiB90 (26. Dez 2007)

dann brauchste ne innere schleife in der du das x immer veränderst...


----------

