1학년 대학 수업/C++ 프로그래밍

c/c++ 나눗셈

hawon6691 2025. 9. 11. 15:51
728x90

이 네 가지 표현은 C/C++에서 정수와 실수의 나눗셈 결과가 어떻게 달라지는지를 보여주는 예입니다. 각각의 표현은 피연산자의 자료형에 따라 결과가 달라지는 형 변환의 예시예요.


🔍 각 표현의 의미와 결과

표현자료형 조합결과 타입결과 값

10 / 4 정수 / 정수 int 2
10.0 / 4 실수 / 정수 double 2.5
10 / 4.0 정수 / 실수 double 2.5
10.0 / 4.0 실수 / 실수 double 2.5

🧠 왜 결과가 다를까?

  • C/C++에서는 정수끼리 나누면 결과도 정수입니다. 소수점은 버려집니다.
  • 하나라도 실수(float, double)가 포함되면, 자동으로 실수 연산이 되어 소수점까지 계산됩니다.

🎭 비유로 이해하기

🍰 케이크 나누기 비유

  • 10 / 4 → 케이크 10조각을 4명에게 나눔. 한 사람당 2조각, 나머지는 버림.
    → "정수 나눗셈은 깔끔하게 나누고 나머지는 무시!"
  • 10.0 / 4 → 케이크 10조각을 4명에게 나눔. 한 사람당 2.5조각.
    → "실수 나눗셈은 정확하게 나눠줌!"

✅ 실전 팁

  • 정수 나눗셈을 피하고 싶다면 하나라도 실수로 변환하세요:
  • double result = 10 / 4.0; // 결과: 2.5
  • 또는 명시적 형 변환 사용:
  • double result = static_cast<double>(10) / 4; // 결과: 2.5

이런 형 변환은 오차 방지, 정확한 계산, 타입 안정성에 매우 중요해요.

728x90