시스템 클래스 INTEGER — 정수
시스템 클래스 INTEGER — 정수
정수는 프로그래밍에서 가장 익숙한 수 타입이죠. Common Lisp의 INTEGER 타입, 특히 정수 크기 제한이 없다는 점과 타입 지정자로의 용법을 정리한 페이지예요.
클래스 우선순위 목록
integer, rational, real, number, t
본문 (Description)
정수(integer) 는 수학적 정수입니다. 여기서 핵심은 정수의 크기에 제한이 없다는 거예요. 매우 큰 정수도 표현할 수 있습니다.
integer 타입은 fixnum과 bignum 두 타입이 완전하게 분할(exhaustive partition) 합니다. 즉 모든 정수는 fixnum이거나 bignum이며, 그 사이에 다른 것이 없어요. (fixnum은 고정 크기로 빠르게 처리되는 정수, bignum은 크기 제한 없이 큰 정수를 처리하는 정수라고 이해하면 돼요.)
복합 타입 지정자 (Compound Type Specifier)
- Kind: Abbreviating
- 구문:
integer [lower-limit [upper-limit]]
-
인자:
lower-limit,upper-limit—integer타입에 대한 구간 지정자(interval designator). 각각의 기본값은 기호*.
integer 타입 지정자는 abbreviating 종류로, lower-limit과 upper-limit이 기술하는 구간 위의 정수들을 나타냅니다.
Notes
integer 타입 지정자는 자주 쓰이는 몇 가지 축약 이름과 연결돼 있어요.
(integer lower upper)— 여기서lower와upper가 각각most-negative-fixnum과most-positive-fixnum이면, 이 타입을fixnum이라고도 불러요.(integer 0 1)— 이 타입을bit이라고 불러요.(integer 0 *)— 이 타입을unsigned-byte라고 불러요.
이렇게 구간 지정자를 통한 축약 표현이 실용적으로 자주 쓰인다는 점을 알면 도움이 돼요.