오늘은 기본자료형인 Int / UInt에 대해서 자세히 알아보고자 합니다
기본 자료형
종류 크기 범위 Int Int8 1byte -128 ~ 127 Int16 2byte -32,768 ~ 32,767 Int32 4byte -2,147,483,648~2,147,483,647 Int64 8byte -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 UInt UInt8 1byte 0 ~ 255 UInt16 2byte 0 ~ 65,535 UInt32 4byte 0 ~ 4,294,967,295 UInt64 8byte 0 ~ 18,446,744,073,709,551,615 Float 4byte ±(1.40129846432481707e-45 ~ 3.40282346638528860e+38) Double 8byte ±(4.94065645841246544e-324d ~ 1.79769313486231570e+308d) Character 2byte 모든 유니코드 문자 Bool 1byte true / false
Int
놀랍게도 구조체로 이루어져 있습니다!
Int는 부호가 있는 정수의 값 타입 입니다
부호가 있다라는 말은?
0, 1, 2, 3, 4, 5, ..., -1, -2, -3, -4, -5 .... 이렇게 플러스 범위와 마이너스 범위를 모두 저장할 수 있는 자료형으로
알고 있으면 된답니다
Int는 정수를 뜻하는 Integer의 줄임말이랍니다
여기서 문제
하지만 무한대로 숫자를 저장할 수 있다?
절대 아닙니다
예를 들어 8bit CPU를 가진 컴퓨터라면 Int형에 2⁸인 256까지 정수를 저장할 수 있답니다
이걸 범위로 지정하게 된다면
-128~127
여기서 엇 왜??? 127이야?? 128아니야 할 수도 있지만
0이 포함되는걸 잊지마시라구요!
0은 양의 범위에 두도록 설계되어있다고 생각하세요
8bit왜 다른 크기를 가진 Int의 범위는 아래 표로 정리해 두었답니다
Int8 / Int16 / Int32 / Int64 범위
종류 | 크기 | 범위 | |
Int | Int8 | 1byte | -128 ~ 127 |
Int16 | 2byte | -32,768 ~ 32,767 | |
Int32 | 4byte | -2,147,483,648~2,147,483,647 | |
Int64 | 8byte | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
Int의 경우 음수와 양수 둘 다 지정할 수 있습니다
정말 기본적이지만
1byte는 8bit라는점
UInt
마찬가지로 구조체로 이루어져 있습니다
Int의 경우 양수와 음수를 지정할 수 있지만
UInt경우 양수만 지정할 수 있답니다~
즉 0, 1, 2, 3, 4, 5, ..... 우리가 일반적으로 자연수라고 부르는 범위의 정수를 저장할 수 있답니다
UInt8 / UInt16 / UInt32 / UInt64 범위
종류 | 크기 | 범위 | |
UInt | UInt8 | 1byte | 0 ~ 255 |
UInt16 | 2byte | 0 ~ 65,535 | |
UInt32 | 4byte | 0 ~ 4,294,967,295 | |
UInt64 | 8byte | 0 ~ 18,446,744,073,709,551,615 |
여기서 중요한 점은 타입이 동일한 녀석들끼리 더해야합니다
예를 들어 Int8 + Int64 절대 안됩니다
Int8은 Int8끼리 더해야한답니다
만약 자리수초과된다면...?
string이란 자료형을 사용해서 자릿수별로 덧셈하여 구하는 방법이 있답니다 :)
이렇게 Int와 UInt에 대해서 알아보는 시간이였습니다
** 잘못된 정보가 있다면 꼭 댓글로 알려주세요!
'Swift' 카테고리의 다른 글
Swift 공식문서| 제어 흐름 (Control Flow)에 관하여 - 반복문 for문 (0) | 2024.05.09 |
---|---|
Swift 공식문서| The Basic 기본연산자에 관하여 (0) | 2024.05.08 |
Swift 공식문서| The Basic 자료형에 관하여 - Bool / String / Character (0) | 2024.05.08 |
Swift 공식문서| The Basic 자료형에 관하여 - Float / Double (0) | 2024.05.08 |
Swift 공식문서| The Basic 변수와 상수에 관하여 (1) | 2024.05.07 |