Bits mit switch case abfragen
-
Vielleicht so. Aber toll ist das auch nicht.
unsigned bitmask = 0x0002; unsigned i = 0x00FF; switch(i & bitmask) //bitmask ist immer anzupassen { case 0x0001: break; case 0x0002: break; case 0x0004: break; /... default: break; }
-
Tachyon schrieb:
Aber toll ist das auch nicht.
das ist sogar völliger blödsinn.
-
fricky schrieb:
Tachyon schrieb:
Aber toll ist das auch nicht.
das ist sogar völliger blödsinn.
Grund?
PS: Wer selbst 99% Müll schreibt, sollte sich mit solchen Aussagen zurückhalten.
-
Tachyon schrieb:
fricky schrieb:
Tachyon schrieb:
Aber toll ist das auch nicht.
das ist sogar völliger blödsinn.
Grund?
willst du 2^32 cases hinschreiben?
Tachyon schrieb:
PS: Wer selbst 99% Müll schreibt, sollte sich mit solchen Aussagen zurückhalten.
so bin ich nun mal.
-
fricky schrieb:
Tachyon schrieb:
fricky schrieb:
Tachyon schrieb:
Aber toll ist das auch nicht.
das ist sogar völliger blödsinn.
Grund?
willst du 2^32 cases hinschreiben?
Tachyon schrieb:
PS: Wer selbst 99% Müll schreibt, sollte sich mit solchen Aussagen zurückhalten.
so bin ich nun mal.
Es ging um einzelne Bits. Im Falle des OP also höchstens 32x...
-
Tachyon schrieb:
Es ging um einzelne Bits.
ne, schau dir den code des OP mal an. er will alle bits finden. mit switch/case geht das nicht. eher sowas:
if (a & 1) { // bit 0 } if (a & 2) { // bit 1 } ... // usw.
-
fricky schrieb:
Tachyon schrieb:
Es ging um einzelne Bits.
ne, schau dir den code des OP mal an. er will alle bits finden. mit switch/case geht das nicht. eher sowas:
if (a & 1) { // bit 0 } if (a & 2) { // bit 1 } ... // usw.
Sehe ich irgendwas nicht? Das wären dann auch 2^32 if-Anweisungen.
-
Tachyon schrieb:
Sehe ich irgendwas nicht? Das wären dann auch 2^32 if-Anweisungen.
Nein, das sind nur 32 if-Anweisungen. Um mit switch alle möglichen Kombinationen berücksichtigen zu können, benötigt man jedoch 2^32 cases.
-
wieso weiterhin sich darüber streiten? switch ist für solche Anfragen nicht gedacht und Punkt. Da sollte die Frage schon geklärt sein, oder?
-
Tachyon schrieb:
fricky schrieb:
Tachyon schrieb:
Es ging um einzelne Bits.
ne, schau dir den code des OP mal an. er will alle bits finden. mit switch/case geht das nicht. eher sowas:
if (a & 1) { // bit 0 } if (a & 2) { // bit 1 } ... // usw.
Sehe ich irgendwas nicht? Das wären dann auch 2^32 if-Anweisungen.
nein, das ist ein & und kein ==