노는게 제일 좋습니다.

4회차 : 산술,논리 연산자 본문

C

4회차 : 산술,논리 연산자

노는게 제일 좋습니다. 2017. 1. 31. 02:14
1. 산술 연산자
+ - * /
이 때, int a=-1; 에서의 뺄셈기호(-)는 산술연산자가 아닌 부호연산자로, 음수값을 반환한다.

2. 대입 연산자.
a=3; 에서 대입연산자(=)는 우변의 상수 3을 좌변의 변수 a에 대입한다.

3. 복합 대입 연산자
a=a+3; 과 같은 코드를 a+=3; 과 같이 축약할 수 있다.
여기서 +=와 같은 연산자를 복합대입연산자라고 한다.

+=  -=  *=  /=  %=  <<=  >>=  &=  |=  ^=


4. 증감 연산자

a=a+1;를 a+=1;이라고 쓸 수도 있고, a++; 또는 ++a;라고 할 수도 있다.

여기서 ++ 를 증감연산자라고 한다.


증감연산자는 전위형 또는 후위형으로 쓸 수 있다. ++a;가 전위형으로, a++;가 후위형으로 사용된 것이다.

전위형의 경우 a를 증감한 뒤에 값을 리턴하지만, 후위형은 일단 값을 리턴한 뒤에 증감한다.


종류 : ++, --


5. 관계 연산자

==

!=

>

<

>=

<=


6. 논리 연산자

!

&&

||

 
7. 비트 연산자
~ : not연산자 (비트 반전)
& : and연산자
| : or연산자
^ : XOR(배타적논리합)
<< 
>> : 쉬프트연산자

8. 회전 연산
쉬프트 연산자와 유사하나, 버려지는 비트들을 살려낸다는 차이가 있다.
예를 들어, 쉬프트 연산시 왼쪽으로 밀려나 사라졌던 비트를, 회전연산에서는 맨 오른쪽으로 넣는다.
또, 쉬프트연산시에 오른쪽으로 밀려나 사라지던 비트가 회전연산을 할 때는 맨 왼쪽으로 들어온다.

연산자로는 없고, 함수로 제공된다.

_rotr() : 반시계방향으로 회전연산
_rotl() : 시계방향으로 회전연산

#include <stdio.h>
void main()
{
 int i=1;
 i=_rotr(i,2);
 printf("%d",i);
 
 getch();
}

위 코드에서 출력값은 1073741824이다. 2진수로 표현하면 01000000000000000000000000000000(2) 가 된다.


'C' 카테고리의 다른 글

6회차 : 함수의 구성 원리, 헤더 파일  (0) 2017.02.03
5회차 : 기타 연산자, 연산 규칙  (0) 2017.02.02
3회차 : 제어문  (0) 2017.01.26
2회차 : 열거형, 유도형 개요  (0) 2017.01.26
1회차 : 변수, 기본형  (0) 2017.01.25
Comments