Bit Operator &



  • Beispiel:

    #define BITMASKE 0x11111111
      char a = 0x1b;
      uint8_t c = 0x1b;
      uint8_t b = 0;
      printf("vor: %x ", c);
      b = (uint8_t)a & BITMASKE;
      printf("1: %x ", b);
      if(c == b){
        std::cerr << "HALLO!!!!!!!!!!!!!!!" << '\n';
      }
      b = b >> 8;
      printf("2: %x ", b);
      if(c == b){
        std::cerr << "NIEMALS!!!!!!!!!!!!!!!" << '\n';
      }
    

    Aussgabe:

    vor: 1b 1: 11 2: 0
    

    Das versteh ich nicht!! Wie kann das sein da müsste eigentlich so was hier stehen:

    vor: 1b 1: 1b 2: 0
    

    (Bei den Ausgaben sind hex zahlen, deswegen auch printf, std::hex klappt da nicht so gut)



  • 0x1b & 0x11 == 0x11
    Stimmt doch...

    Du meinst wohl
    #define BITMASKE 0xff



  • Nope Zeile 6 ...

    1b & FF = 1b oder sehe ich das irgendwie falsch?

    EDIT:
    AH der define ist mist 😃 danke


Log in to reply