Programming/C C++
 산술연산자

 +  덧셈
 -  뺄셈
 *  곱셈
 /  나눗셈
 %  나머지

예) int result = 3 + 4;

 증감연산자

 ++  1증가
 --  1감소

피연산자가 하나만 있는 단항연산자로 ++a; 처럼 사용되는 경우 선증가, a++; 처럼 사용되는 경우 후증가 연산을 수행합니다.

 쉬프트 연산자

 <<  왼쪽으로 비트 이동
 >>  오른쪽으로 비트 이동
int i = 10;
int j = i << 2;
위 예제의 경우 i변수의 2진수에서 왼쪽으로 2비트 만큼 이동한 값을 j에 대입합니다. 변수 j는 int형으로서 4byte인 32bit이고 이 비트를 왼쪽으로 2비트 만큼 밀고난 후 밀려난 부분을 0으로 채운 값(40)이 됩니다.

다만 오른쪽 쉬프트 연산자인 경우에는 피연산자가 음수이면 밀려난 자리에 0이 아닌 1의 값을 채우게 됩니다.

 논리연산자

 &&  논리곱(AND)
 ||  논리합(OR)

논리곱은 피연산자 모두 참(true)이여야 참(true)값을 반환하며 논리합은 피연산자중 하나만 참이여도 참의 값을 반환합니다.

 비트연산자

 &  논리곱(AND)
 |  논리합(OR)
 ^  베타적논리합(XOR)

피연산자의 비트값을 대상으로 연산을 수행하는 연산자입니다. 예를 들어 정수 3의 비트는 0011이고 정수 2의 비트는 0010 이므로 이 두개의 비트를 & 연산하게 되면 다음과 같은 결과값을 얻게 됩니다.

0011
0010
---- &
0010 -> 결과

참고로 ^ 연산자는 피연산자중 단 하나만 참(true)의 값을 가져야만 참이 되는 연산입니다.

0011
0010
---- ^
0001

 관계연산자

 <  오른쪽이 왼쪽보다 크다.  <=  오른쪽이 왼쪽보다 크거나 같다.
 >  왼쪽이 오른쪽 보다 크다.  >=  왼쪽이 오른쪽보다 크거나 같다.
 ==  같다.  !=  다른다.

연산의 결과가 0이면 false, 1이면 true

 대입연산자

 =  오른쪽 값을 왼쪽에 대입  +=  오른쪽 값을 왼쪽에 더함
 -=  오른쪽 값을 왼쪽값에 감산  *=  오른쪽 값을 왼쪽값에 곱함
 /=  오른쪽 값을 왼쪽값에 나눔  %=  오른쪽 값을 나눈 나머지를 왼쪽에 대입
 <<=  왼쪽값을 오른쪽 값만큼 왼쪽 쉬프트 수행  >>=  왼쪽값을 오른쪽 값만큼 오른쪽 쉬프트 수행
 &=  오른쪽 값의 비트 논리곱 결과를 왼쪽에 대입  ^=  오른쪽 값의 비트 베타적 논리합 결과를 왼쪽에 대입
 !=  오른쪽 값의 비트 논리합 결과를 왼쪽에 대입    

예)
int a = 0;
a += 1;

'Programming > C C++' 카테고리의 다른 글

[Visual C++] 구조체  (0) 2012.07.05
[Visual C++] 함수  (0) 2012.07.04
[Visual C++] 연산자  (0) 2012.07.03
[Visual C++] 흐름제어  (0) 2012.07.02
[Visual C++] 형변환  (0) 2012.06.29
[Visual C++] 나열형(enum)  (0) 2012.06.28
0 0