Складене побітове “і” (&=)
Опис
Оператор складене побітове “і” (&=) часто використовується зі змінною та константою, щоб змусити деякі біти у змінній набути статусу LOW (0). Вони часто згадуються у посібниках з програмування як біти “очищення” або “скидання”.
Синтаксис
x &= y; // рівне x = x & y;Параметри
x: змінна типу char, int або long
y: цілочисельна константа або char, int чи long
Приклад:
Спочатку розглянемо побітовий оператор “і” (&)
0 0 1 1 operand1
0 1 0 1 operand2
----------
0 0 0 1 (operand1 & operand2) - результатБіти, які в результаті операції побітового “і” взаємодіють з 0, очищаються до 0, тому якщо myByte є змінною byte, то
myByte & B00000000 = 0;Біти, які в результаті операції побітового “і” взаємодіють з 1, незмінні, тому,
myByte & B11111111 = myByte;Примітка: оскільки ми маємо справу з бітами в побітових операціях, зручно використовувати двійковий формат для констант. Числа мають ті ж значення в інших вираженнях, проте їх легше розуміти. Крім того, B00000000 показане для ясності, але нуль у будь-якому форматі чисел дорівнює нулю (щось філософське, чи не так?).
Отже, щоб очистити (збити до 0) біти 0 & 1 змінної, залишивши решту змінної непорушною, використайте складений побітовий оператор “і” (&) з константою B11111100.
1 0 1 0 1 0 1 0 змінна
1 1 1 1 1 1 0 0 маска
----------------------
1 0 1 0 1 0 0 0
змінна непорушна
біти очищеніНижче таке ж представлення із заміненими бітами змінної на символ x
x x x x x x x x змінна
1 1 1 1 1 1 0 0 маска
----------------------
x x x x x x 0 0
змінна непорушна
біти очищеніТому якщо:
myByte = B10101010;
myByte &= B11111100 == B10101000;Повернутись до головної

Коментарі 0