"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 프로그래밍에서 파이프 같음(=) 연산자의 목적은 무엇입니까?

프로그래밍에서 파이프 같음(=) 연산자의 목적은 무엇입니까?

2024-11-07에 게시됨
검색:893

What is the Purpose of the Pipe Equal (=) Operator in Programming?

파이프 등호 연산자(=)가 무엇인가요?

오픈 소스에서 파이프 등호 연산자(|=)를 접한 개발자 라이브러리 코드는 그 의미에 대해 궁금해할 수 있습니다. 종종 논리 할당으로 오해되는 이 연산자는 중요한 비트 OR 연산을 포함합니다.

비트 OR 이해

파이프 등호 연산자 |=는 =와 동일하게 작동합니다. 아래 코드에서 |= 연산자는 기본값의 원래 값을 DEFAULT_SOUND 상수와 결합합니다:

notification.defaults |= Notification.DEFAULT_SOUND;

이 작업은 다음과 동일합니다:

notification.defaults = notification.defaults | Notification.DEFAULT_SOUND;

여기서 | 비트 OR 연산자를 나타냅니다.

상수 마스크의 비트 OR

제공된 예에서 상수 DEFAULT_SOUND, DEFAULT_VIBRATE 및 DEFAULT_LIGHTS는 2의 거듭제곱입니다.

DEFAULT_SOUND = 1
DEFAULT_VIBRATE = 2 (1 

이를 통해 비트별 OR을 사용하여 플래그를 추가하거나 제거할 수 있습니다. 예를 들면:

int myFlags = DEFAULT_SOUND | DEFAULT_VIBRATE; // 001 | 010 = 011

다른 플래그 추가:

myFlags |= DEFAULT_LIGHTS;

단순히 새 플래그를 추가합니다.

플래그 존재 테스트

비트 AND 연산자(&)는 플래그가 있는지 테스트합니다.

boolean hasVibrate = (DEFAULT_VIBRATE & myFlags) != 0;

결과가 다음과 같은 경우 0이 아닌 경우 플래그가 설정됩니다.

릴리스 선언문 이 글은 1729671437에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3