기본 (The Basics) - 정수 (Integers)

00yhsp·2024년 3월 28일

정수 (Integers)

정수는 부호가 있는 정수(signed), 또는 부호가 없는 정수(unsigned)가 있다.

Swift는 8, 16, 32, 그리고 64비트 형태의 signed/unsigned 정수를 지원한다.
8비트 unsigned 정수는 UInt8, 32비트 signed 정수는 Int32와 같이 C와 비슷한 네이밍 형태를 지닌다.
Swift의 모든 타입과 마찬가지로 정수 타입은 대문자로 시작한다.

정수 범위 (Integer Bounds)

각 정수 타입의 min과 max 프로퍼티를 통해 각 정수 타입의 최소값과 최대값을 가져올 수 있다.

let minValue = UInt8.min
let maxValue = UInt8.max

이러한 프로퍼티의 값은 적절한 크기의 숫자 타입이므로 동일한 타입의 다른 값과 함께 표현식에 사용될 수 있다.

Int

대부분의 경우 코드에서 사용할 정수의 특정 사이즈를 결정할 필요는 없다.
Swift는 현재 플랫폼의 네이티브 사이즈와 같은 Int 정수 타입을 제공한다.

  • 32비트 플랫폼에서 Int == Int32
  • 64비트 플랫폼에서 Int == Int64

특정 크기의 정수로 작업해야 하는 경우가 아니라면,
코드 일관성과 운용성을 위해 정수 값 사용 시 Int를 사용하는 것이 좋다.
32비트 플랫폼에서도 Int는 -2147483648과 2147483647 사이의 값을 저장할 수 있으며 일반적인 사용성에 문제가 없다.

UInt

Swift는 현재 플랫폼의 네이티브 사이즈와 같은 정수 타입 UInt 또한 제공한다.

  • 32비트 플랫폼에서 UInt == UInt32
  • 64비트 플랫폼에서 UInt == UInt64
    Note
    - UInt는 플랫폼의 네이티브 사이즈와 같은 크기의 부호없는 정수 타입이 필요한 경우에만 사용하는 것이 좋다. 저장될 값이 음수가 아니어도 Int 를 더 선호한다.
profile
iOS Dev

0개의 댓글