본문 바로가기

BackEnd/C

산술 연산자를 통해서 보는 연산의 원리

반응형

1. 연산자란?


cpu에게 연산을 시키기 위해서 정의한 기호를 가리켜 연산자라 한다.


2. c언어의 연산자(대입연산자, 산술연산자)


두개의 피 연산자를 필요로 하는 연산자를 이항 연산자라 하는데, 대입 연산자와 산술 연산자는 모두 이항 연산자에 속한다.


- % 연산자의 피연산자는 반드시 정수형이어야 한다.




3. 연산사 예시 코드


- 12,13,14행을 보면 먼저 연산을 실행한후에 printf문이 실행된다.


- 13행에서 연산결과의 자료형은 피연산자의 자료형과 일치한다. 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
int main(void)
{
    int n1 = 7;
    int n2 = 3;
 
    int result = n1 + n2;
    printf("  덧셈 결과: %d \n", result);
 
    result = n1 - n2;
    printf("  뺄셈 결과: %d \n", result);
 
    printf("  곱셈 결과: %d \n", n1 * n2);
    printf("나눗셈 결과: %d \n", n1 / n2);
    printf("나머지 결과: %d \n", n1 % n2);
    
    return 0;
}
cs
1
2
3
4
5
덧셈 결과: 10
  뺄셈 결과: 4
  곱셈 결과: 21
나눗셈 결과: 2
나머지 결과: 1
cs



3. 두 피연산자와 연산결과의 자료형은 모두 일치한다.


두 피연산자의 자료형이 일치해야 하는 이유


1) 데이터의 표현방식이 일치해야 연산이 가능하도록 cpu가 설계되었기 때문이다..

2) 실수의 데이터 표현방식과 정수의 데이터 표현방식이 다르기 때문이다.


4. 만약 두 피연산자의 자료형이 일치하지 않는다면?



위 코드를보면 원칙적으로 n1+n2는 자료형이 달라 연산이 불가능하다. 하지만 피연산자가 표현 범


위가 넓은 double 자료형으로 자동형 변환되기 때문에, 두 자료형이 일치되어(산술변환) 연산이 가


능해진다.




반응형

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

다양한 연산자들의 소개  (0) 2018.12.10
연산자들의 우선순위와 결합방향  (0) 2018.12.10
상수의 이해  (0) 2018.12.05
상수의 표현  (0) 2018.12.05
적절한 자료형의 선택기준  (0) 2018.12.05