본문 바로가기
Study/C_C++

연산자

by 꼬부기가우는소리 2023. 6. 15.
728x90


프로그래밍 언어는 일반적으로 수학 연산과 유사한 연산자의 집합을 지원한다. 언어는 내장된 연산자의 정해진 숫자를 포함할 수 있다 (C와 C++에서 + - * = 연산자의 경우), 아니면 프로그래머가 정의한 연산자의 생성을 허용할 수 있다 (하스켈의 경우). 일부 프로그래밍 언어는 다른 div와 같은 이름도 허용하는 동안 특수 문자 + 또는 :=과 같은 연산자 기호를 제한한다 (파스칼의 경우).

언어의 사양은 우선순위와 그것이 지원하는 연산자의 결합법칙을 지정한다. 프로그래머가 정의된 연산자를 지원하는 언어는 새로운 연산자의 기호 (예: 프롤로그)의 우선순위와 결합법칙의 사양이 필요하다.

대부분의 프로그래밍 언어 연산자는 몇몇 많은 피연산자 (예: C에서 ?: 연산자) 지원과 함께, 하나 또는 두 개의 피연산자를 사용한다. 그것의 피연산자와 관련하여 연산자의 위치는 전위 표기법, 중위 표기법 또는 후위 표기법일 것이다.

 

[출처] 위키백과 - 연산자 (프로그래밍)

 

 

 

비트 연산자 (bitwise operator)

비트 연산자는 비트(bit) 단위로 논리 연산을 할 때 사용하거나 비트 단위로 전체 비트를 왼쪽이나 오른쪽으로 이동시킬 때 사용한다.

 

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

[출처] 코딩의 시작, TCP School - 비트 연산자

 

 

* 관련 문제:

- [백준] 1018번: 체스판 다시 칠하기

'Study > C_C++' 카테고리의 다른 글

벡터 (vector)  (0) 2023.06.17
표준 템플릿 라이브러리 (STL)  (0) 2023.06.13
형 변환  (0) 2023.06.07
VS Code (with Windows)  (0) 2018.07.29

댓글