최댓값을 넘는가
예상 입력과 중간 계산값을 보고 정수 폭을 고른다.
C++ 기본 타입은 이름 목록으로 외우기보다, 저장 폭, 표현 범위, 부호 해석, 실수 정밀도를 같은 표에서 확인해야 안전하게 고를 수 있다.
| 타입 | 표준 관점 | 학습 기준 | 주의 |
|---|---|---|---|
| char | 최소 1 byte | 문자 또는 작은 정수 | signed 여부는 구현별로 다를 수 있다 |
| short | 최소 16 bit | 작은 범위 정수 | 메모리 절약 의도가 있을 때만 명확히 선택 |
| int | short 이상 | 일반 정수의 기본값 | 외부 포맷은 고정폭 타입을 따로 검토 |
| long long | 최소 64 bit | 큰 정수 범위 | 범위를 넓혀도 오버플로 검사는 필요 |
| 타입 | 유효 자릿수 | 먼저 생각할 점 |
|---|---|---|
| float | 약 6-7자리 | 많은 값을 저장해 메모리와 대역폭이 중요할 때 |
| double | 약 15-17자리 | 일반적인 실수 계산의 기본 선택 |
| long double | 플랫폼별 상이 | 정밀도 요구와 이식성을 같이 확인 |
unsigned는 음수 표현을 버리고 양수 범위를 넓힌다. 문자
타입은 인코딩 숫자로 저장되고, bool은 조건 판단을 위한
상태값으로 읽힌다.
예상 입력과 중간 계산값을 보고 정수 폭을 고른다.
단순히 범위가 넓다는 이유만으로 unsigned를 고르지 않는다.
실수는 저장 범위보다 비교와 반올림 정책이 더 중요할 수 있다.
파일, 네트워크, ABI 경계에서는 고정폭 타입과 직렬화 규칙을 확인한다.