개발 블로그
article thumbnail
Published 2023. 9. 19. 13:04
비트 연산자(<<, >>, &, |, ^, ~) Java

비트 연산자란?

비트 단위의 연산에 사용되는 연산자

 

비트 연산자의 종류

산술 연산자(<<, >>)

a << b : 2진수 a 를 b 비트 만큼 왼쪽으로 미는 연산

a >> b : 2진수 a 를 b 비트 만큼 오른쪽으로 미는 연산

 

int x = 7;
System.out.println("x << 2 = " + (x << 2)); // 0111(2) -> 011100(2) : 28
System.out.println("x >> 2 = " + (x >> 2)); // 0111(2) -> 0001(2) : 1

논리 연산자(&, |, ^, ~)

& : 두 비트가 모두 1일 때만 1

| : 두 비트 중 하나라도 1이면 1

^ : 두 비트가 서로 다르면 1, 같으면 0(xor 연산)

~ : 비트를 반전시키는 부정 연산자(1 -> 0, 0 -> 1)

 

int a = 8; // 01000(2)
int b = 17; // 010001(2)

System.out.println("a & b = " + (a & b)); // 000000(2) -> 0
System.out.println("a | b = " + (a | b)); // 011001(2) -> 25
System.out.println("a ^ b = " + (a ^ b)); // 011001(2) -> 25
System.out.println("~a = " + ~a); // 10111(2) -> 01001(2)의 보수 -> -9
System.out.println("~b = " + ~b); // 101110(2) -> 010010(2)의 보수 -> -18

'Java' 카테고리의 다른 글

문자열(String)의 생성과 비교  (0) 2023.10.08
산술 변환  (0) 2023.09.19
스레드 동기화(synchronized)  (0) 2023.04.12
상속  (0) 2023.04.07
접근제어자와 Getter & Setter  (0) 2023.04.06
profile

개발 블로그

@하얀.손

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!