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
'1학년 대학 수업 > C++ 프로그래밍' 카테고리의 다른 글
#include <stdio.h>과 #include <iostream>의 차 (0) | 2025.09.11 |
---|---|
전처리기 (0) | 2025.09.11 |
const란? (0) | 2025.09.11 |
C/C++ 식별자, 상수, 자료형, 변수, 전처리기, 연산자 예제 (0) | 2025.09.11 |
C/C++의 자료형 순위 (0) | 2025.09.11 |