본문 바로가기
프로그래밍 언어/c(일반)

연산자 정리

by [Akashic Records] 개발의선지자 2024. 5. 2.

대입, 산술, 증감, 관계(비교) , 삼항, 쉼표, 포인터, 논리 , 비트 연산자가 있다.

그중에서 관계(비교) , 논리 , 비트 연산자를 정리하는 차원에서 해당 글을 적는다.

 

1, 관계 연산자 : 대소와 동등의 관계를 따지는 연산자이다.

- 관계 연산자들은 조건을 만족하면 1(True) , 만족하지 않으면 0(false)을 반환한다.

 

연산자 기능
< ex) n1 < n2
n1이 n2보다 작은가?
> ex) n1 > n2
n1이 n2보다 큰가?
== ex) n1 == n2
n1이 n2보다 같은가?
!= ex) n1 != n2
n1이 n2보다 다른가?
<= ex) n1 <= n2
n1이 n2보다 같거나 작은가?
>= ex) n1 >= n2
n1이 n2보다 같거나 큰가?

 

 

2. 논리 연산자 : AND(논리곱), OR(논리합), NOT(논리부정)을 표현하는 연산자

- 어떤 조건식 내에서 복수의  조건들에 대한  '참' / '거짓' 여부 판별 시 사용된다.

 

연산자 기능
&& ex) A && B
A와 B 모두 '참'이면 연산결과로 '참'을 반환
|| ex) A || B
A와 B 둘 중 하나라도 '참'이면 연산결과로 '참'을 반환
! ex) !A
A가 '참'이면 '거짓', A가 '거짓'이면 '참을 반환

 

3. 비트 연산자 : AND(논리곱), OR(논리합), NOT(논리부정)을 표현하는 연산자

- MCU 레지스터 특정 비트 set/reset할때 사용하거나, 복수의 조건들 코드를 간결할 때 사용된다.

-> 자세한 건 추후 '비트 마스크' 글에서 설명할 예정이다.

연산자 기능
& 대응되는 비트가 모두 1이면 1을 반환함
| 대응되는 비트 중에서 하나라도 1이면 1을 반환
^ 대응되는 비트가 서로 다르면 1을 반환
~ 비트를 1이면 0으로, 0이면 1로 반전
<< 지정한 수만큼 비트들을 전부 왼쪽으로 이동(left shift)
>> 지정한 수만큼 비트를 전부 오른쪽으로 이동(right shift)