[나랑 자바공부 하자 16]비트와 관련있는 연산자들
[나랑 자바공부 하자 16]비트와 관련있는 연산자들
오늘 자바공부는 바로 비트연산자 입니다1 비트와 관련있는 연산자들을 공부해 봅시다!
비트 연산자로는 &| ^ ~ 가 있어요~
하나씩 볼까요
& 비트단위로 AND 연산을 합니다 n1 & n2; 이런식
| 비트단위로 OR 연산을 합니다 n1 | n2;
^ 비트 단위로 XOR 연산을 합니다 n1^n2;
~ 피연산자의 모든 비트를 반전 시켜서 얻은 결과를 나타넵니다 ~n;
그림을 보면 좀더 쉽게 이해가 가는데요
n1 과 n2를 & 연산 and연산을 하면 두개다 1일때 1 둘중하나만 1이거나 둘다 0일때는 0을 나타냅니다.
자바의 비트연산 진리 표 입니다.
이것은 뭐 한번 보시고 당연한 예이겟죠?!
and는 두개 모두가 1일때만 1
or은 둘중 하나라도 1이면 1
xor의 경우는 둘중 하나만 1일경우에 1을 표시
not 연산자의 경우 1이면 0을 표시 0이면 1을 표시 반대이죠~
비트연산자의 예 입니다
class bit
{
public static void main(String[] args)
{
int num1=5; // 00000000 00000000 00000000 00000101
int num2=3; // 00000000 00000000 00000000 00000011
int num3=-1; // 11111111 11111111 11111111 11111111
System.out.println(num1 & num2); // num1과num2 의 and를 계산해보면 00....00000001 이나오겠죠 그래서 값은 1
System.out.println(num1 | num2); // num1과 num2의 or은 000.... 00000111 이 나오면 값은 7이 됩니다.
System.out.println(num1 ^ num2); // xor 값을 계산해보면 000..... 00000110 이 되겟죠?! 그럼 출력값은 6!
System.out.println(~num3); // not num3이니까 모든 1을 반전시키면 값은 0 이 나옵니다!
}
}
비트와 관련있는 연산자들 2 내일 봐욤!