This page is also available in 3 other languages

&=

[Compound Operators]

설명

복합 비트 AND 연산자 &= 는 때때로 변수와 상수와 함께 쓰여 변수의 특정 비트를 LOW 상태(0으로) 만든다. 이것은 때때로 프로그래밍 가이드에서 "지우기 " 또는 "재설정" 비트로 참조된다.

비트 AND & 연산자 다시보기:

0  0  1  1    operand1
0  1  0  1    operand2
----------
0  0  0  1    (operand1 & operand2) - 반환 결과

문법

x &= y;   //  x = x & y; 와 같음

매개변수

x: 변수. 허용되는 자료 형: char, int, long
y: 변수 또는 상수. 허용되는 자료 형: char, int, long

예제 코드

0과 비트 AND 되는 비트는 0으로 되므로, myByte가 byte 변수면,

myByte & B00000000 = 0;

1과 비트 AND 되는 비트는 바뀌지 않으므로,

myByte & B11111111 = myByte;

주의와 경고

우리는 비트 연산자 안에서 비트를 다루므로 - 이진 포매터를 상수와 함께 쓰는 게 편하다. 숫자는 다른 표현의 같은 값, 그들은 이해하기 쉽지 않다. 또, 명료성을 위해 B00000000 이 보여지지만, 0은 어떤 숫자 형태로든 0 이다.(흠…​ 거기 뭔가 철학적인?)

결과적으로 - 변수의 0과 1을 설정하기 위해, 변수의 나머지를 그대로 두려면, 복합 비트 AND 연산자 (&=)를 상수 B11111100과 함께 쓴다.

1  0  1  0  1  0  1  0    variable
1  1  1  1  1  1  0  0    mask
----------------------
1  0  1  0  1  0  0  0
bits unchanged
                 bits cleared

여기에 변수가 기호 x로 대체된 같은 표현이 있다.

x  x  x  x  x  x  x  x    variable
1  1  1  1  1  1  0  0    mask
----------------------
x  x  x  x  x  x  0  0
bits unchanged
                 bits cleared

그래서 :

myByte =  B10101010;
myByte &= B11111100;  // results in B10101000

더보기