Ist es möglich, eine if-Abfrage zu Stati von einzelnen Bits durch eine switch-case-Anweisung zu ersetzen?
1 | ...
|
2 | #define BIT0 0x00
|
3 | #define BIT1 0x01
|
4 | #define BIT2 0x04
|
5 | ...
|
6 | |
7 | x = 0b01010101; |
8 | |
9 | if (x & (1<<BIT0) { |
10 | ..... } |
11 | if (x & (1<<BIT1) { |
12 | ..... } |
13 | if (x & (1<<BIT2) { |
14 | ..... } |
switch-case-Versuch, der nicht geht:
1 | ...
|
2 | switch (x) { |
3 | case (&(1<<BIT0)): ...; break; |
4 | case (&(1<<BIT1)): ...; break; |
Meine Frage - geht das ueberhaupt mit einer switch-case-Abfrage?