Bitflag diasblen



  • Hallo zusammen
    Ich habe eine kleine frage, die mich sehr beschäftigt:

    Also wie ein Bitflag enablen kann, weiss ich:

    int a = 0x00000000;

    ersten Bit setzten:

    a |= 0x00000001;

    Aber ich habe nirgends eine Erklährung gefunden, wie man das Teil wieder entfernt! Habe schliesslich folgendes versucht und es scheint zu klappen, aber ich bin mir nicht so sicher:

    a |= 0x00000001 ^ 0x00000001

    Ist das so korrekt?

    Gruss Ishildur



  • Hallo,

    mit '^' klappst Du ein Bit um (= setzt es, wenn es gelöscht ist und löschst es, wenn es gesetzt ist). Mit '& ~bit' löschst Du es immer:

    bitmap &= ~1 // löscht Bit Nummer 1
    

Anmelden zum Antworten