FraFu: Bitmuster - mehr als ein Bit gesetzt?

Beitrag lesen

Hallo!

Bit   Recht

1     Recht1
2     Recht2
4     Recht3
8     Recht4
16    Recht5
32    Recht6
64    Recht7
...   ...

Hmmm. Um herauszufinden ob genau 1 Recht gesetzt ist, wirst du um eine mehrteilige IF Abfrage nicht herumkommen.

if(RECHT==2^0 OR RECHT==2^1 OR RECHT==2^2 ..... RECHT==2^N)

oder das ganze mit einer Schleife:
n=Anzahl der möglichen Rechte
For(i=0;i<n;i++)
   if(RECHT==2^i) => User hat genau ein Recht

Eine Lösung mit einer einzigen Formel fällt mir da nicht ein.

mfg
  frafu