본문 바로가기
OS/Linux

[Linux/C] 비트연산자

by dev_Step 2022. 3. 16.

비트연산자

|

&

<<

>>

 

 

 

 

우선 | 는 or 의 의미로 비트연산시 둘중 1이 하나라도 있으면 1로 나타내준다

 

0000 1000   (8)

0000 0100   (4)  | 연산을 실시한다고 하면

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

0000 1100  (12) 을 나타내준다.

 

 

& 비트 연산자는 and의 의미로써 둘다 1이여야 1로 나타내준다

0000 1000   (8)

0000 0100   (4)  &  연산을 실시한다고 하면

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

0000 0000   (0)  이다.

 

 

 

<< 연산자의 경우는 해당 비트값을 왼쪽으로 숫자만큼 이동 시켜준다고 생각하면된다.

(2<<4) 의 경우는 

0000 0010      (2)  해당 값에서 비트를 << 4칸 움직이는 것으로

-----------

0010 0000      (32) 가 된다. 

 

>> 연산자의 경우는 해당 키트값을 오른쪽으로 숫자만큼 이동시켜 주는 것으로

(2>>1) 의경우는

0000 0010      (2)  해당 값에서 비트를 >> 1칸 움직이는 것으로

-----------

0000 0001      (1) 이 된다. 

 

(2>>2) 그이상 >> 연산은 그냥 0으로 나타낸다.

 

 

응용 하는 것으로

 

10 | (1<<3) 의경우는 

10 의 값과 

(1<<3) 한 값을 | 비트 연산하는 것으로

 

0000 1010   (10)

0000 1000   (8)       |연산

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

0000 1010  (10)       10이 출력된다.

 

 

'OS > Linux' 카테고리의 다른 글

[Linux/C] GDB  (0) 2022.03.25
[Linux/C] 함수 포인터  (0) 2022.03.24
[Linux/C] 포인터  (0) 2022.03.23
[Linux/C] C언어 서식 변환 문자  (0) 2022.03.13
[Linux] Ubuntu 20.04 설치  (0) 2022.03.11