Ein kurzer Überblick über die Verwendung einer Bitmap zum Speichern mehrerer Werte

8

Ich bin immer verwirrt, wenn ich eine Bitmap verwende, um mehrere Flags zu speichern. Zum Beispiel, wenn es 10 mögliche Eigenschaften für ein Objekt gibt (alles Ja oder Nein), verwende ich einen vorzeichenlosen int und die ersten 10 Bits (von LSB) basierend auf den Eigenschaften. Nun, wie man ein bestimmtes Bit setzt und löscht und wie man überprüft, ob ein Bit gesetzt ist oder nicht?

Wenn ich das fünfte Bit zurücksetzen möchte, verwende ich: bitand (Flagge, 2 ^ 5 - 1)

Aber ich bin nicht klar, was zu prüfen ist, ob das fünfte Bit gesetzt ist oder nicht.

    
Arvind 21.06.2009, 13:33
quelle

1 Antwort

23

Überprüfen Sie, ob das n th Bit gesetzt ist:

%Vor%

setze das n th -Bit:

%Vor%

löschen Sie das n th -Bit:

%Vor%

schaltet das n th -Bit um:

%Vor%     
Ferruccio 21.06.2009, 13:44
quelle

Tags und Links