더북(TheBook)

정수 타입 사이의 상호 관계가 플랫폼마다 다르기 때문에 이식성을 보장하면서 원하는 목적에 딱 맞게 타입을 선택하기 상당히 번거로울 수 있다. 다행히 컴파일러가 이 작업을 어느 정도 도와준다. 가령 특정한 속성을 가진 size_t와 같은 typedef들을 제공한다.

TAKEAWAY 5.12 크기(size), 원소의 개수(cardinality), 순서수(ordinal number)size_t 타입으로 표현한다.

참고로 부호 없는 타입이 가장 편리하다. 수학의 모듈로(modulo) 연산과 동일한 연산을 지원하기 때문이다. 오버플로가 발생해도 예외를 발생시키지 않고 최적화도 잘 된다. 자세한 내용은 5.7.1절에서 설명한다.

TAKEAWAY 5.13 음수를 가질 수 없는 작은 양(quantity)unsigned로 표현한다.

양수와 음수 둘 다 가질 수 있지만 분수(소수)는 가질 수 없는 값을 꼭 써야 할 경우에는 부호 있는 타입을 사용한다(5.7.5절 참고).

TAKEAWAY 5.14 부호를 가질 수 있는 작은 양은 signed로 표현한다.

TAKEAWAY 5.15 부호를 가질 수 있는 큰 차(difference)의 연산에는 ptrdiff_t를 사용한다.

0.53.77189E+89와 같은 값에 대해 분수 연산을 수행하려면 부동 소수점 타입을 사용한다(5.7.7절 참고).

TAKEAWAY 5.16 부동 소수점 연산에는 double을 사용한다.

TAKEAWAY 5.17 복소수 연산에는 double complex를 사용한다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.