1. 비트 연산
자바에는 4비트 연산이 있습니다. 해당 연산 규칙은 다음과 같습니다.
(1) 비트별 AND(&): 두 비트가 모두 1입니다. 1이고, 그렇지 않으면 0입니다.
(2) 비트별 OR(|): 두 비트 중 하나가 1이고, 그렇지 않으면 0입니다. 비트 음수(~): 0은 1로 변경, 1은 0으로 변경
(4) 비트 XOR(^): 두 비트가 동일하면 결과는 0입니다. 다르면 결과는 1입니다.
참고:
(1) 비트 연산의 부호 비트(가장 높은 비트)도 변경됩니다.
(2) 비트 연산자 및 논리 연산자(논리 AND &&, 논리 OR ||, 논리 NOT!)는 다소 비슷합니다. 단, 논리 연산자는 부울 변수
에만 연산을 수행할 수 있습니다(즉, 왼쪽과 오른쪽의 값은 부울 값입니다).
2. 비트 연산의 적용
a) 5의 보수는 다음과 같습니다.
00000000 00000000 00000000 00000101
b) 비트 단위 5(~)의 부정은
11111111 11111111 11111111 11111010
참고: 상위 숫자가 1(음수)이므로 보완 코드를 원래 코드로 변환해야 합니다. ; 상위 숫자가 0(양수)인 경우 원래 코드, 보완 코드 및 양수의 보완 코드가 동일하므로 보완 코드를 원래 코드로 변환할 필요가 없습니다.
c) 음수의 보수를 역코드로 변환:
11111111 11111111 11111111 11111001
d) 음수의 보수를 역코드로 변환 원본 코드 :
10000000 00000000 00000000 00000110
자바에는 3개의 시프트 연산자가 있습니다.
(3) 논리적 오른쪽 이동(>>>): 낮은 비트는 오버플로되고, 높은 비트는 다음으로 채워집니다. 0; 참고: 논리적 오른쪽 시프트(>>>)의 기호도 그에 따라 변경됩니다.
4. 참고:
비트 연산 및 시프트 연산 모두 연산에 이진 보수를 사용하므로 피하십시오!