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 ==
    🙂


Anmelden zum Antworten