비트 연산자의 종류는 아래와 같이 있다.
&
- 비트단위로 and 연산을 한다.
- 둘 다 1일때만 1, 나머지는 0
|
- 비트단위로 or 연산을 한다.
- 둘 다 0일때만 0, 나머지는 1
^
- 비트단위로 xor 연산을 한다.
- 둘이 같으면 0, 다르면 1
~
- 단항연산자로써 피연산자의 모든 비트를 반전 시킨다.
<<, >>
- 피연산자의 비트열을 각각 왼쪽으로, 오른쪽으로 이동시킨다.
우리가 이러한 bit 연산을 언제사용할까?
- 특정 비트가 0,1인지 확인하고 싶을때 &, << 사용
- 키를 암호화 복호화 할때 xor 사용
- 스위치를 계속 누르고 있으면 전등이 켜졌다 꺼졌다 하는것도 xor로 구현가능
- 홀수를 확인. if(x % 2) vs if(x & 1)
=> 컴퓨터는 나눗셈 연산을 할때 x에서 2를 계속빼서 그 몫이 2보다 작아질때까지 빼는 작업을 반복한다. 그래서 위 식의 x가 큰 수라면 매우 많은 연산을 거치게 되는데, 후자의 경우는 단일 bit 연산으로 끝이난다.
'공부 > 프로그래밍기본' 카테고리의 다른 글
Xcode에서 c Project 생성하기 (0) | 2019.07.28 |
---|---|
모듈러 연산의 특징 (0) | 2019.07.24 |
확률 (0) | 2019.07.24 |
데이터 타입별 크기 (0) | 2019.07.23 |