Swift

Swift 공식문서| The Basic 자료형에 관하여 - Int / UInt

ziziDev 2024. 5. 8. 15:16
반응형

 

오늘은 기본자료형인 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에 대해서 알아보는 시간이였습니다

 

 

** 잘못된 정보가 있다면 꼭 댓글로 알려주세요!

반응형