무민이의 반반무많이

C언어 비트 연산자(Bit Operator) 본문

C/Basic

C언어 비트 연산자(Bit Operator)

M00min 2016.07.16 00:31

(공감과 댓글 하나는 글쓴이에게 큰 힘이 됩니다.)


비트(Bit) 단위로 논리 연산을 수행하는 연산자로서, 어셈블리 언어(Assembly Language)에서만 가능했던 프로그램 표현을 C언어에서도 가능하게 한다.


종류

설명

보기

&

논리곱(AND)

a & b

|

논리합(OR)

a | b

^

베타적 논리합(XOR)

a ^ b

~

부정(NOT)

~a

<<

Left Shift

a << 2

>>

Right Shift

a >> 2


& 연산자

- 두 개의 비트가 모두 1일 때 1을 반환. 아래 그림은 47AND 연산 결과


| 연산자

- 두 개의 비트중 하나만 1이면 1을 반환. 아래 그림은 47OR연산 결과


^ 연산자

- 두 개의 비트가 서로 다를 경우 1을 반환. 아래 그림은 47XOR연산 결과


~ 연산자

- 부호비트도 포함하여 0110으로 반전시킨다. 아래 그림은 4NOT연산 결과


<< 연산자

- 왼쪽으로 지정된 칸만큼 이동. 아래 그림은 4 << 2 연산 결과. 앞으로 이동한 비트는 삭제되고 뒤의 빈 공간은 0으로 채우게 된다. 1비트씩 왼쪽으로 이동할 때마다 값이 2배가 된다.


>> 연산자

- 왼쪽으로 지정된 칸만큼 이동. >>의 왼쪽에 존재하는 피연산자가 양수이면 오른쪽으로 이동 후 왼쪽의 빈공간은 0으로 채워지지만 >>의 왼쪽에 존재하는 피연산자가 음수이면 시스템에 따라 0을 채우기도 하고 1을 채우기도 한다.

'C > Basic' 카테고리의 다른 글

C언어 while문  (0) 2016.07.24
C언어 형 변환(자동 형 변환, 강제 형 변환)  (1) 2016.07.19
C언어 비트 연산자(Bit Operator)  (0) 2016.07.16
정수, 실수의 표현방식  (0) 2016.07.15
C언어 연산자의 우선순위와 결합성  (1) 2016.07.14
C언어 연산자(Operator)  (0) 2016.07.14
0 Comments
댓글쓰기 폼