정수: 개수와 인덱스
int로 시작하고 범위가 커지면 long long을 본다.
타입 이름을 외우기보다, 저장 폭·표현 범위·부호 해석·실수 정밀도를 같은 자리에서 비교하면 선택 기준이 선명해진다.
int로 시작하고 범위가 커지면 long long을 본다.
double을 기본으로 두고, 비교는 오차 허용 범위로 판단한다.
char는 작은 정수이면서 문자 인코딩으로도 읽힌다.
bool은 계산값보다 참/거짓 의도를 드러내는 타입이다.
| 묶음 | 대표 타입 | 먼저 묻는 질문 | 주의할 점 |
|---|---|---|---|
| 정수 | int, long long |
예상 입력과 중간 계산이 범위를 넘는가? | 타입 폭은 구현마다 달라질 수 있다. |
| 부호 | signed, unsigned |
음수가 실제 의미를 가지는가? | unsigned 뺄셈은 언더플로를 만들 수 있다. |
| 실수 | float, double |
몇 자리 정밀도와 어떤 비교 방식이 필요한가? | 0.1 같은 십진수는 정확히 저장되지 않을 수 있다. |
| 문자/논리 | char, bool |
숫자가 아니라 역할을 드러내야 하는가? | 출력 형식과 인코딩을 함께 확인한다. |
같은 비트열도 타입이 바뀌면 의미가 달라진다. 예를 들어 signed 정수는 맨 앞 비트를 부호 판단에 쓰지만, unsigned 정수는 모든 비트를 양수 범위 확장에 사용한다.