본문 바로가기
homework-jueon/0x01-200제

25. 비트 연산자

by SpeeDr00t 2020. 1. 4.
반응형

1비트는 1 또는 0으로만 표현될 수 있는 데이터 단위이다.

비트 연산자의 종류에는 &, |, ^, ~, >>, <<가 있는데 이 중 ~는 1의 보수로 비트를 반전시키는데 그걸 이해하려면 2의 보수개념을 알아야 한다. 여기서는 다루지 않음

 

& 비트의 and 연산을 한다. 비트 값을 서로 비교했을 때 동일한 자리의 비트가 참이면 참, 하나 이상이 거짓이면 거짓이다.

| 비트의 or 연산을 한다. 비트 값을 서로 비교했을 때 동일한 자리의 비트가 하나 이상이 참이면 참, 둘 다 거짓이면 거짓이다.

^ 비트의 xor 연산을 한다. 비트 값을 서로 비교했을 때 동일한 자리의 비트의 값이 다른 경우 거짓, 같으면 참이다.

>> n 비트를 n만큼 오른쪽으로 이동(시프트)시킨다. 비트 값이 오른쪽으로 밀려나면 해당 비트를 없애고 맨 앞(왼쪽)을 0으로 채운다. 

<< n 비트를 n만큼 왼쪽으로 이동(시프트)시킨다. 비트 값이 왼쪽으로 밀려날 때 해당 비트가 0이면 없애고 맨 끝(오른쪽)을 0으로 채우고 해당 비트가 1이면 비트를 보존시키면서 맨 앞에 새로 4비트를 추가한다.

예)

0x58을 << 3 했을 때

0x58 = 0101 1000

 

0010 1100 0000으로 시프트한다.

반응형

'homework-jueon > 0x01-200제' 카테고리의 다른 글

27. 시퀀스 자료 인덱싱  (0) 2020.01.05
26. 시퀀스 자료형  (0) 2020.01.04
24. 논리 연산자  (0) 2020.01.02
23. 관계 연산자  (0) 2020.01.02
21. 연산자 축약  (0) 2020.01.02