본문 바로가기
C

[C언어] 정수와 정수 나누기, 정수와 실수 연산, 캐스팅 - 코드 119

by 박사과정 모닝 2023. 1. 10.
반응형
정수와 정수의 연산

강제 캐스트

정수와 실수의 연산, 자동 캐스트

 

1. 정수와 정수의 연산

  • 정수와 정수를 나눗셈 하여 실수 결과가 나올 때는 어떻게 출력될까?
  • 예를 들어 5를 2로 나눈다면, 실제 정답은 2.5이다. 그러나 C에서는 결과값을 실수형 변수로 선언하더라도, 정수와 정수의 연산 결과값으로 실수를 출력할 수 없다.
int num1=0, num2=0;
float result=0.0;

result = num1 / num2;
  • 위의 코드와 같이 입력하고 실행 하더라도 결과는 2.00000이 된다. 왜냐하면 오른쪽의 정수형 끼리의 연산 결과는 항상 정수형이고, 정수형의 결과(2)를 실수로 표현하는 것이 마지막 줄의 연산이기 때문이다.
  • 이를 해결하기 위해서는 캐스트(cast)가 필요하다.

 

 

2. 캐스트(Cast)

  • 캐스트 연산자: 자료형을 강제로 변환하는 연산자. 변수의 자료형 자체를 변경하지 않고, 코드 내의 특정 부분에서만 임시로 자료형을 변환하는 것.
  • 강제 캐스트: 강제적으로 변수의 자료형을 변환하는 것.
  • 강제 캐스트 방법: (자료형)변수명;      ex) (float)num1/num2;

 

 

3. 정수와 실수의 연산, 자동 캐스트

  • 정수와 실수를 함께 연산하는 경우, 그 결과는 자동으로 '실수'로 변환된다. 이를 자동 캐스트라고 한다.
  • 정수와 실수 연산의 결과가 실수인 이유는, 실수가 더 넓은 범위의 숫자를 표현하는 자료형이기 때문이다.
반응형