본문 바로가기
프로그래밍/java

비트 연산자

by mooyou 2021. 9. 24.
728x90
300x250
SMALL

1. 비트 논리 연산자

- 정수형 데이터는 2진수 형태로 기억장소에 저장된다.

- 비트 단위 연산자는 정수형 데이터에서만 사용한다.

- 비트 단위 연산자는 2진수나 16진수 데이터를 사용하여 적용해야 한다.

 

연산자    
~ 비트반전 (1의 보수) ~A  : A의 각 비트를 반전
& 비트 단위 AND A&B : A와 B각비트끼리 연산을 취함 논리는 &두개를 썼는데 비트는 한개만 씀
| 비트 단위 OR A|B : A와 B 각 비트끼리 OR 연산
^ 비트 단위 XOR A^B : A와 B의 각 비트끼리 XOR연산//배타적 논리합 비트가 서로 다르면 1 같으면 0이됨

 

3을 8비트로 구성할 경우
A : 3 : 0000 0011
B : 2 : 0000 0010

-------------------------

A&B   0000 0010  : 2

A|B    0000 0011  : 3

A^B   0000 0001  : 1

~A    1111 1100  : 252


A&B 각비트끼리 앤드 연산을 취함
두개가 1이면 1이고 나머지는 0이된다.
그래서 답은 0000 0010 이렇게가 된다.
이걸 정수로 생각하면 2가됨
비트 앤드는 네부적으로 2진수 형태로 기억장소에 저장되서 처리된다.

A|B를 위해예제로 계산해보면
 0000 0011이 된다 그래서 10진수로 바꾸면 3이 된다.

A^B 0000 0001  /같으면 0 다르면 1
10진수로 하면 1이 됨
 
~A //단항연산자 (대상변수 1개) 위에꺼는 다항연산자들
1111 1100  // 각비트를 반전 시켜주면됨

728x90
반응형
LIST

'프로그래밍 > java' 카테고리의 다른 글

[JAVA]자료형 종류와 크기  (0) 2021.09.28
자바 프로그래밍 방법  (0) 2021.09.27
10진수 / 16진수 / 2진수 변환표  (0) 2021.09.15
단락 회로 평가(short circuit evaluation)  (0) 2021.09.14
복합 대입 연산자  (0) 2021.09.13

댓글