파이프 등호 연산자(=)가 무엇인가요?
오픈 소스에서 파이프 등호 연산자(|=)를 접한 개발자 라이브러리 코드는 그 의미에 대해 궁금해할 수 있습니다. 종종 논리 할당으로 오해되는 이 연산자는 중요한 비트 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이 아닌 경우 플래그가 설정됩니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3