Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Jak wyzerowac bit
Konnekt | Forum > Developerzy > Tworzenie wtyczek
KoSiarzPL
Nigdy nie lubilem operacji na bitach.
Jak wyzerowac konkretny bit w liczbie. Przykladowo mam
int liczba;
int flaga;
Teraz chce wyzerowac bit rowny flaga w liczba.
Do glowy mi przychodzi tyklo:
CODE
liczba & (0xFFFFFFFFFFFF ^ flaga)

Tylko ile tych 'F' trzeba mellow.gif
hao
CODE


int maska; // to zostanie wyzerowane, jeżeli bit ustawiasz w flaga, musi być też ustawiony tutaj
int flaga; // to zostanie ustawione

liczba = (liczba & ~maska) | (maska & flaga);



W ten prosty sposób podając jako maskę flagi które chcesz zmieniać, żeby wyzerować wszystkie bity z maski podajesz jako flagę 0, żeby ustawić wszystkie bity z maski - podajesz -1 (minus jeden)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2012 Invision Power Services, Inc.