■ 개요
1 float와 Double에서
2 Int에서
1 float와 Double에서
float와 Double에 값을 넣어도 실제로 저장되는 값의 범위는 제한적이기 때문에 잘 확인해야 한다.
2 Int에서
스위프트에 Int 종류에는 다음 것들이 있다.
저 중에서 Int8을 골라서 이 자료형에 저장할 수 있는 데이터 최소, 최대값을 알려면 .min, .max을 입력하면 된다.
Int8은 signed(부호있는) integer이기 때문에 -128부터 127까지 저장할 수 있다.
따라서 -128~127 범위 밖의 데이터를 저장하면
overflow(오버플로우) 에러발생한다.
★ 타입이 허용하는 범위의 데이터를 저장하는 것이 중요하다.
또한 Int의 (option 누르고 나오는) Discussion에서 32-bit 플랫폼에서는 Int32랑 같고, 64비트 플랫폼에서는 Int64랑 같다고 한다.
즉, 플랫폼마다 저장할 수 있는 데이터의 범위가 다르다는 것이다.
예를 들어 아이폰 5 이후에는 64비트로 데이터 처리하기 때문에
앱 개발자가 앱을 64비트에만 맞춰서 만들면 아이폰 5 전 기기에서는 제대로 작동하지 않을 수 있다.
왜 아이폰에서는 Int를 정수 기본형으로 만들어서 쓰는 걸까?
그 이유는 32비트 CPU에서는 32비트,즉 4바이트 Integer 데이터 타입을,
64비트 CPU에서는 64비트,즉 8바이트 Integer 데이터 타입을 가장 효율적으로 처리할 수 있기 때문이다.
그래서 각각의 CPU마다 최적의 성능을 내기 위해 각각의 플랫폼에 맞는 사이즈로 처리할 수 있는 데이터 타입을 만든 것이다.
■ 마무리
1 float와 Double에서
저장할 수 있는 범위가 다르기 때문에 연산시 오차가 날 수 있다.
2 Int에서
변수에 Int종류를 따로 표시하지 않으면 기본 Int로 적용되어 플랫폼마다 다른 범위의 데이터가 저장된다.
--------------------------
iOS프로그래밍 학습을 위해
더 많은 예제 보러가기
--------------------------
'컴퓨터 공학 > Swift' 카테고리의 다른 글
[스위프트] Xcode 새 프로젝트 만들기 (386) | 2020.04.22 |
---|---|
[아이폰앱개발]아이콘 쉽게 넣는 법(asset catalog creator 사용하기) (1470) | 2020.02.26 |
[스위프트] 왕초보를 위한 자료형 개념(+자료형 확인하는 방법) (1711) | 2020.02.24 |
[스위프트] 변수, 상수, 함수, 클래스 기본 개념 (예제로 한번에 이해하기) (1562) | 2020.02.16 |
[스위프트] NavigationController 텍스트 변경, 없애기_코드포함 (1668) | 2020.02.15 |
댓글