Literal(리터럴)이란?
- 변하지 않는 데이터 그 자체 의미
큰 숫자를 지수로 표현할때
- 소문자e or 대문자E로 대체 하여 사용
16진수 표현할때
-실수에서 밑이 e로 고정되고 소문자p or, 대문자 P로대체됨
금액을 표시할때
- , 대신 _ 사용
각 진수 별 10 표현 방법
10진수
- 평상시대로 0~9사이 사용
2진수
- 0b접두어 사용
8진수
-0o접두어 사용
16진수
- 0x접두어 사용
- 매우큰수를 표현하거나, 메모리 주소를 표현하거나, 컬러코드를 표현할때 주로 사용
정수형타입(Integer Types)
두가지로 나뉨
1. Signed
2. Unsigned
1.Signed
음수, 0 , 양수 포함
Int 뒤에 붙은 숫자는 bit를 나타냄
Int8 - 8bit - 1byte
Int16 - 16bit - 2byte
Int32 - 32bit - 4byte
Int64 - 64bit - 8byte
메모리 공간의 크기를 알고 싶을때
MemoryLayout.size
2. Unsigned
0, 양수 (음수 제외)
Signed 는 Data bit를 제외한 Signed bit에서 음수와 양수를 나누지만 Unsigned는 음수는 제외기 때문에 양수 범위가 2배 넓음
메모리 공간의 크기는 같지만 저장할 수 있는 범위가 다름
macOS나 iphone에서 64bit를 사용해서 8byte사용
따라서 우리가 평소에 사용하는 대부분의 변수와 상수들은 Int에 비해 한없이 작아 메모리 효율이 떨어진다고 볼 수 있지만,
기기에서 지원하는 용량에 비해 아주 미세한 정도이기때문에 Int를 보통 사용함
간혹 프레임워크에서 다른 자료형으로 리턴하는 경우는 있음
실수형 타입 (Floating - point Types)
음수 , 0 , 양수 저장가능
지수와 가수를 나누어 저장하기 때문에 정수 자료형보다 큰값을 저장 할 수 있음
하지만 메모리에는 전체 데이터가저장이 되지만 메모리크기에 따라 소숫점에 정확도가 달라져 오차가 발생해 출력을 최대 보장 자리까지함
Float는 최대 6자리 double은 15자리까지 정확성을 보장하고 나머지는 오차가 발생 할 수 있음
1. Float
32bit - 4byte
2.Double
64bit - 8byte
'Swift랑 친해지기 > Swift문법정리' 카테고리의 다른 글
[Swift] 단락평가 (Short-circuit Evaluation) (0) | 2022.07.27 |
---|---|
[Swift] Type Inference, Type Annotation, Type Conversion, Type Alias (0) | 2022.07.25 |
[Swift] 메모리 (Memory) (0) | 2022.07.21 |
[Swift] 전역범위(Global Scope) vs 지역범위 (Local Scope) (0) | 2022.07.21 |
[Swift] 이름정의 규칙 (Naming Convention) (0) | 2022.07.21 |