or는 비트 연산이다. C = A or B
는 C의 모든 비트가 설정되도록하는 B.의 또는 설정된다
예 :
01001001
or 00011000
--------
01011001
AccountOptionsEnum.UF_ACCOUNTDISABLE
는 아마도 단일 비트를 의미 형태 2^x
값이며 설정됩니다.
00001000 = UF_ACCOUNTDISABLE
X = X or UF_ACCOUNTDISABLE
가 이전에 설정되어있는 경우이 네 번째 비트가 X에서 설정되어 있는지 확인합니다 작업, 아무것도 변경되지 않습니다 :
00011100 old X
or 00001000 UF_ACCOUNTDISABLE
--------
00011100 new X
만약의 그것이 오른쪽에서 네 번째 비트가 있다고 가정하자 이 설정되어 있지 않은, 그것은 설정됩니다 : 기본적으로
00010100 old X
or 00001000 UF_ACCOUNTDISABLE
--------
00011100 new X
, 다음과 같은 비트 오 연회가 일반적으로 사용됩니다 :
X = X or FLAG ' sets FLAG in X
X = X and not FLAG ' removes FLAG from X
X = X xor FLAG ' toggles FLAG in X
if (X and FLAG) <> 0 ' checks if FLAG is set in X
이 명확하고 완벽한 답변 주셔서 감사합니다! 건배! – rousseauo