정수 형식과 값의 범위
Int, UInt, Int8..Int64와 각 형식의 경계를 이해합니다.
정수 형식과 값의 범위은(는) CoddyKit의 무료 Swift Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Swift Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
Swift의 정수 형식
Swift에는 여러 정수 형식이 있습니다. Int는 기본 형식이며 플랫폼의 워드 크기와 일치합니다. 일반적으로 64비트입니다. Int8, Int16, Int32, Int64와 같은 고정 크기 형식도 있습니다.
let count: Int = 42
print(count)
print(type(of: count))부호 있는 형식과 unsigned
부호 있는 형식인 Int는 음수와 양수 값을 저장할 수 있습니다. unsigned 형식인 UInt는 zero와 양수 값만 저장하며 더 넓은 양수 범위를 얻습니다.
let signed: Int = -10
let unsigned: UInt = 10
print(signed, unsigned)고정 width 정수 크기
형식 이름의 숫자는 비트 width를 나타냅니다. Int8은 8비트를 사용하고 Int16은 16비트를 사용하는 식입니다. 비트가 많을수록 범위가 넓습니다.
print(MemoryLayout<Int8>.size)
print(MemoryLayout<Int16>.size)
print(MemoryLayout<Int64>.size)min과 max 속성
모든 정수 형식은 표현할 수 있는 가장 작은 값과 가장 큰 값을 제공하는 .min과 .max를 노출합니다.
print(Int8.min, Int8.max)
print(UInt8.min, UInt8.max)Int8의 범위
부호 있는 Int8의 범위는 -128에서 127까지입니다. 이러한 비대칭은 음수가 아닌 쪽에서 zero에 하나의 값을 할당하기 때문에 발생합니다.
print("Int8 range:", Int8.min, "to", Int8.max)UInt8의 범위
unsigned UInt8의 범위는 0에서 255까지입니다. 부호 비트가 필요하지 않으므로 8개 비트가 모두 크기를 나타냅니다.
print("UInt8 range:", UInt8.min, "to", UInt8.max)더 큰 정수 범위
Int16, Int32, Int64는 범위가 지수적으로 커집니다. Int32만 해도 이미 20억을 넘는 크기를 표현할 수 있습니다.
print("Int16 max:", Int16.max)
print("Int32 max:", Int32.max)
print("Int64 max:", Int64.max)플랫폼 Int
64비트 플랫폼에서 Int는 Int64와 동일합니다. 특정한 width가 필요한 경우가 아니라면 일반적인 코드에서는 단순한 Int를 사용하는 편이 좋습니다.
print("Int.max:", Int.max)
print("Same as Int64:", Int.max == Int64.max)정수 형식 선택하기
기본적으로 Int를 사용합니다. 바이너리 형식, 하드웨어 또는 메모리에 민감한 데이터를 다룰 때는 고정 width 형식을 선택합니다.
let pixelChannel: UInt8 = 200
let fileOffset: Int64 = 5_000_000_000
print(pixelChannel, fileOffset)min과 max로 범위 확인하기
런타임에 .min과 .max를 사용해 변환하기 전에 값이 대상 형식에 fits하는지 확인할 수 있습니다.
let big = 300
let fits = big >= Int(UInt8.min) && big <= Int(UInt8.max)
print("Fits in UInt8:", fits)정수 간격 복습 예제
비트가 하나 늘어날 때마다 범위는 대략 두 배가 됩니다. 이 프로그램은 점점 더 넓은 unsigned 형식의 최댓값을 보여 줍니다.
print(UInt8.max)
print(UInt16.max)
print(UInt32.max)빠른 확인
부호 있는 8비트 정수의 exact 범위를 떠올려 보세요.
복습: 정수 형식과 범위
Int는 플랫폼 크기를 따르는 기본 형식이고, 부호 있는 형식은 음수까지 포함하며 unsigned 형식인 UInt는 zero에서 시작하고, Int8부터 Int64까지의 고정 width 형식은 비트 width에 따라 커지는 구체적인 .min/.max 경계를 가진다는 점을 배웠습니다.
print("Defaults and bounds:")
print(Int.max)
print(Int8.min, Int8.max)
print(UInt8.max)자주 묻는 질문
“정수 형식과 값의 범위” 강의는 무료인가요?
네 — “정수 형식과 값의 범위” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Swift Academy 강의 전체를 잠금 해제할 수 있습니다. Swift Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“정수 형식과 값의 범위”에서 뭘 배우나요?
Int, UInt, Int8..Int64와 각 형식의 경계를 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 Swift Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Swift Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Swift Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“정수 형식과 값의 범위” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Swift Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Swift Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 정수 형식과 값의 범위
- 부동 소수점: Double과 Float 비교
- 명시적 숫자 형 변환
- 숫자 리터럴과 밑줄