반응형
비트는 컴퓨터에서 가장 기본적인 데이터 단위로 0 또는 1의 값을 가질 수 있습니다. 모든 데이터는 비트의 조합으로 표현 됩니다.
비트 연산자는 정수의 비트를 직접 조작할 수 있게 해주는 연산자입니다. 주로 시스템 프로그래밍, 네트워크 프로그래밍, 암호화 같은 저수준의 데이터 처리에 사용됩니다.
&
두 정수의 각 비트를 비교하여 두 비트가 모두 1일 때만 1을 반환합니다.
int a = 5; // 이진수: 0101
int b = 3; // 이진수: 0011
int result = a & b; // result는 1 (이진수: 0001)
|
두 정수릐 각 비트를 비교하여 어느 한쪽이라도 1인 비트가 있으면 1을 반환합니다.
int a = 5; // 이진수: 0101
int b = 3; // 이진수: 0011
int result = a | b; // result는 7 (이진수: 0111)
^
두 정수의 각 비트를 비교하여 서로 다른 비트일 때만 1을 반환합니다.
int a = 5; // 이진수: 0101
int b = 3; // 이진수: 0011
int result = a ^ b; // result는 6 (이진수: 0110)
~
비트를 반전시켜 1을 0, 0을1로 바꿉니다.
int a = 5; // 이진수: 0101
int result = ~a; // result는 -6 (이진수: 1010의 2의 보수 표현)
<<
비트를 왼쪽으로 이동합니다. 연산자뒤에 나오는 숫자 1이면 왼쪽으로 1한칸 이동시키고 이동한칸은 0으로 채워집니다.
int a = 5; // 이진수: 0101
int result = a << 1; // result는 10 (이진수: 1010)
>>
비트를 오른쪽으로 이동합니다. 부호 비트가 유지되며, 음수의 경우 1로 채워집니다.
int a = -5; // 이진수: 11111111 11111111 11111111 11111011
int result = a >> 1; // result는 -3 11111111 11111111 11111111 11111101
>>>
부호랑 상관없이 오른쪽으로 이동시켜 0을 채웁니다.
int a = -20; // 이진수: 11111111111111111111111111101100
int result = a >>> 2; // 이진수: 00111111111111111111111111111011
https://idocleancode.tistory.com/387
반응형
'Tutorials > Java' 카테고리의 다른 글
[자바] 삼항 연산자 (2) | 2024.08.21 |
---|---|
[자바] 증감 연산자 (1) | 2024.08.21 |
[자바] 논리 연산자 (2) | 2024.08.20 |
[자바] 관계 연산자 (2) | 2024.08.20 |
[자바] 산술 연산자 (1) | 2024.08.20 |