java

비트 연산자

뚜벅뚜벅뚜벅이 2022. 7. 9. 20:13
반응형

말 그대로 비트 단위로 연산이 이루어지는 연산자이다. 암호화나 임의의 숫자를 만들때 그리고 임베디드 시스템 프로그램에서 메모리 용량이 부족하거나 계산이 복잡해서 속도가 느려질때, 곱셈이나 나눗셈을 비트 이동연산자를 사용하면 빠르게 처리할 수 있다.

1.비트 논리 연산자

비트 단위로 &,|,^,~의 연산이 이루어진다.

① &

두개의 비트 값이 모두 1인경우에만 연산 결과 값이 참이된다.

②|

비트 값이 하나라도 1이면 연산 결과 값이 1이된다.

③^

같은 값이면 0, 다른 값이면 1의 결과를 갖는다.

④~

반전 연산자로 0은 1로 1은 0으로 바꾸는 연산자이다.

맨앞자리 부호 비트도 바꿀 수 있다.

2. 비트 이동 연산자

:시프트 연산자라고도 부르며 <<,>> 세가지가 있다.

①<<

왼쪽으로 비트를 n 만큼 이동한다.

num< n 으로 작성하고 왼쪽으로 n비트 만큼 이동한다는 것은 기존 값에 2n만큼 곱한다는 뜻.

②>>

오른쪽으로 비트를 n만큼 이동한다.

num>> n 으로 작성하고 오른쪽으로 n비트 만큼 이동한다는 것은 기존 값을 2n만큼 나눈다는 뜻이다.

오른쪽으로 땡기면서 왼쪽에 채워지는 비트 값은 기존의 부호 비트와 동일

③>>>

>>시프트 연산자와 동일하게 비트를 이동시키지만 차이점은 왼쪽에 채워지는 비트값이 부호 비트와 상관없이 항상 0이 된다.


연산자 우선순위

- 단항연산자가 가장높고, 이항, 삼함 연산자 순서대로 처리

- 대입연산자의 우선 순위가 가장 낮음

- 산술, 관계, 논리, 대입 연산자 순서로 우선 순위를 가지며 ()의 우선순위가 가장 높음

반응형