일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- IOS
- 계명대 이종호
- javascript
- 자스민
- 개발
- Hitit
- 개발자
- 자료구조
- 호키스
- 리액트
- HTML
- hokeys
- 계명대
- 자바스크립트
- 스벨트
- queue
- 비동기
- data structure
- SWIFT
- react
- Svelte
- 스위프트
- 힛잇
- 이종호
- hokidoki
- 리액트 예제
- 자바스크립트 자료구조
- 호키도키
- TDD
- jest
- Today
- Total
Dog foot print
[SWIFT] 기본 자료형 및 숫자 타입 본문
자료형이란
자료형이란 어떤 값이 띄고 있는 성질이 속하는 타입을 의미한다. 아주 쉬운 예를 들면 10 + 안녕하세요. = X 수식의 X값을 구할 수 있을까 ? 구할 수 없다. 안녕하세요.
는 숫자가 아니기 때문이다. 이 처럼 동일한 숫자인듯 보이는 10과 “10”은 엄연히 다른 자료형인 숫자와 문자열이라는 타입을 가지고 있어서 연산이 가능하지 않다.
이처럼 자료형은 어떤 값이 수행 할 수 있는 연산과 기능을 달리하는데 기준이 된다.
Note : Data type을 줄여 type이라 칭한다.
타입 선언과 추론
var variable : String = "hello swift";
let constants : String = "hello swift";
var ten : Int;
ten = 20;
ten = "20"; //error
타입 선언은 어떤 변수나 상수가 저장 할 수 있는 값이 어떤 자료형인지 컴파일러에게 명시해주는 것을 의미한다. 변수 선언 당시 타입 선언을 하게되면, 해당 변수는 해당 타입이외에는 할당이 불가능하다.
타입 선언 방법
[변수 타입] [변수명] : [DATA TYPE] = [값];
[변수 타입] [변수명] : [DATA TYPE];
타입을 선언하는 방법은 변수가 선언 되었을 때, 변수명 옆에 : DATA TYPE
을 작성하는 것으로 사용이 가능하다.
타입 추론
var variable = "hello swift";
let constants = "hello swift";
variable = 10;
타입 추론은 첫 할당과 동시에, 컴파일러가 자동으로 해당 변수에 자료형을 부여하는 것을 의미한다. 즉 처음 할당되는 값이 해당 변수의 자료형이 된다.
기본 자료형 INT
TIP : 10은 정수이다. 10.2는 실수이다. -10은 정수이다.
Int
는 정수를 뜻하는 자료형이다. 이 Int는 양의 정수와 음의 정수의 값을 모두 담을 수 있는 자료형이며, 하위 자료형으로는 Int8, Int,16, Int32, Int64
형이 존재한다.
Int
var intMax : Int = Int.max;
var intMin : Int = Int.min;
// 9223372036854775807
//-9223372036854775808
가장 기본적으로 사용되는 Int는 2의 64승까지의 표현이 가능하다.
Int8
var intMax : Int8 = Int8.max;
var intMin : Int8 = Int8.min;
//127
//-128
Int의 가장 적은 수를 표현 할 수 있는 Int8은 2의 8승까지 표현이 가능하다.
Int16 ~ Int64
var int16Max : Int16 = Int16.max;
var int16Min : Int16 = Int16.min;
//32767
//-32768
var int32Max : Int32 = Int32.max;
var int32Min : Int32 = Int32.min;
//2147483647
//-2147483648
var int64Max : Int64 = Int64.max;
var int64Min : Int64 = Int64.min;
// 9223372036854775807
//-9223372036854775808
어떤 Int를 사용해야 좋을까 ?
Note : Int
는 CPU환경에 따라 변경되는 Int의 크기를 자유자재로 변경 할 수 있기 때문에, 환경에 따른 코드 변화가 필요 없어 코드를 대폭 줄 일수 있다.
굳이 큰 숫자를 담을 수 있는 64형을 사용하면 마음이 편할 듯 하다. 그러나, 이렇게 큰 숫자를 담을 수 있는 자료형은 메모리에서 차지하는 메모리 공간도 크기때문에, 적절한 값의 사용도 중요하다.
Q : 사람의 나이를 저장하는 age
라는 변수가 존재한다면 어떤 자료형을 사용하는 것이 좋을까 ?
A : 현재 인류 수명은 평균 100살정도 밖에 안되기 때문에, Int8의 자료형을 써도 충분할 것이다.
UInt
UInt
는 Unsigned Integer
라는 단축어이며, 양의 정수 만을 허용하는 자료형이다. 즉 0이하의 음의 정수는 이 자료형의 값에 할당 될 수 없다.
UInt
는 음의 정수만큼의 크기를 양의 정수에서 더 사용 가능하기 때문에 Int.max * 2 + 1
만큼 최대치를 갖는다.
var UIntMax : UInt = UInt.max;
var UIntMin : UInt = UInt.min;
//18446744073709551615
//0
Tip : Uint 또한 Int 타입처럼 서브 자료형인 Uint8,Uint16,Uint32,Uint64
를 가지고 있다.
Double 과 Float
Double
과 Float
은 int
와 Uint
와 달리 소수점을 가질 수 있는 자료형이다. 두 자료형 모두 실수를 표현 할 수 있는 것은 같지만 Float
는 소수점 아래 57자리 아래까지 정확히 표현 가능하고, 17자리 까지 정확한 표현이 가능하다. Double
은 14
Note : Double은 64bit 부동 소수점 자료형이다.
Note : Float은 32bit 부동 소수점 자료형이다.
var float : Float = 12.1212121212
var double : Double = 12.12121212121212121212121212112121221
//12.121212
//12.12121212121212
'IOS > Swift' 카테고리의 다른 글
[SWIFT] Set 집합 (0) | 2021.07.01 |
---|---|
[SWIFT] 문자열 보간법과 트리플 쿼우팅 (0) | 2021.06.30 |
[SWIFT] 기본 자료형[2] (0) | 2021.06.29 |
[swift] 변수 사용하기 (0) | 2021.06.28 |
[Swift] Stack 만들기 (0) | 2021.03.17 |