Algorytmy i struktury danych · Middle · Pytanie 62 z 75
Co robi x & (x - 1) dla dodatniej liczby całkowitej x?
- 1Zwraca liczbę ustawionych bitów w liczbie
- 2Przesuwa liczbę o jeden bit w lewo, jak mnożenie przez 2
- ✓Poprawna odpowiedź: Zeruje najmłodszy ustawiony bit (0 dla potęg dwójki)
Wyjaśnienie
Odjęcie 1 odwraca najmłodszą jedynkę i zera pod nią, a AND usuwa ten bit. Zatem x & (x - 1) === 0 sprawdza potęgę dwójki, a powtarzanie operacji liczy ustawione bity.