λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
3️⃣ Swift/Swift 정리

[Swift] Int, Int64?

by seolhee2750 2021. 6. 9.

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€ 문제λ₯Ό ν’€λ‹€λ³΄λ‹ˆ Int64 ν˜•νƒœμ˜ νƒ€μž…μ΄ λ³΄μ—¬μ„œ 처음 μ•Œκ²Œ 됐닀.

μ‚¬μš©ν•΄λ³΄λ‹ˆ μ •μˆ˜λ₯Ό μ €μž₯ν•œλ‹€λŠ” 점은 Int와 같은 것 κ°™μ•„μ„œ κ·Έλƒ₯ νƒ€μž…μΊμŠ€νŒ… ν•΄κ°€λ©° μ½”λ”©ν–ˆλ‹€.

근데 생각보닀 λ¬Έμ œμ— 자주 λ“±μž₯ν•΄μ„œγ…œ μ΄λŒ€λ‘œ 계속 λͺ¨λ₯΄λŠ” μƒνƒœλ‘œ λ„˜μ–΄κ°€λ©΄ μ•ˆλ κ²ƒ κ°™λ‹€.

κ·Έλž˜μ„œ μ΄λ²ˆμ—” Int64κ°€ 뭔지 μ •ν™•νžˆ ν•œ 번 짚고 λ„˜μ–΄κ°€λ €κ³  ν•œλ‹€.


Int64처럼 Int 뒀에 뢙은 μˆ«μžλŠ” μ˜ˆμƒν•˜λ‹€μ‹œν”Ό,, λΉ„νŠΈλ₯Ό μ˜λ―Έν•œλ‹€!

κ·Έ μ’…λ₯˜λ‘œλŠ” Int8, Int16, Int32, Int64κ°€ μžˆλ‹€.

 

πŸ“Ž 각 μ„œλΈŒ νƒ€μž…λ“€μ˜ λ²”μœ„

νƒ€μž…μ˜ λ²”μœ„λ₯Ό μ•Œμ•„λ³΄κΈ° μœ„ν•œ μ½”λ“œλ₯Ό κ°„λ‹¨νžˆ μž‘μ„±ν–ˆλ‹€.

print("Int8 : " + String(Int8.min) + " ~ " + String(Int8.max))
print("Int16 : " + String(Int16.min) + " ~ " + String(Int16.max))
print("Int32 : " + String(Int32.min) + " ~ " + String(Int32.max))
print("Int64 : " + String(Int64.min) + " ~ " + String(Int64.max))
// Int8 : -128 ~ 127
// Int16 : -32768 ~ 32767
// Int32 : -2147483648 ~ 2147483647
// Int64 : -9223372036854775808 ~ 9223372036854775807
  • Int8 : -128 ~ 127
  • Int16 : -32768 ~ 32767
  • Int32 : -2147483648 ~ 2147483647
  • Int64 : -9223372036854775808 ~ 9223372036854775807

μœ„μ™€ 같이 각 νƒ€μž…λ“€μ€ λͺ¨λ‘ μ§€μ •ν•˜λŠ” λ²”μœ„κ°€ λ‹€λ₯΄λ‹€.

그리고 μœ„μ— μ ν˜€μžˆμ§€ μ•Šμ€, λΉ„νŠΈλ₯Ό μ§€μ •ν•˜μ§€ μ•Šκ³  μ‚¬μš©ν•˜λŠ” Int μžλ£Œν˜•μ€ 크기가 μ–΄λ–»κ²Œ 될까,,?,,

λ°”λ‘œ, μš°λ¦¬κ°€ μ‚¬μš©ν•˜λŠ” μ‹œμŠ€ν…œ μ•„ν‚€ν…μ²˜μ— 따라 μ§€μ •λœλ‹€.

예λ₯Ό λ“€μ–΄, 32λΉ„νŠΈ μ•„ν‚€ν…μ²˜μ—μ„œλŠ” Int32κ°€ Intνƒ€μž…μœΌλ‘œ, 64λΉ„νŠΈ μ•„ν‚€ν…μ²˜μ—μ„œλŠ” Int64κ°€ Intνƒ€μž…μœΌλ‘œ μžλ™ 지정!

 

πŸ‘‰ ν”Œλ ˆμ΄κ·ΈλΌμš΄λ“œμ—μ„œ Int νƒ€μž…μ˜ λ²”μœ„λ₯Ό μ•Œμ•„λ³΄κΈ° μœ„ν•œ μ½”λ“œλ₯Ό κ°„λ‹¨νžˆ μž‘μ„±ν–ˆλ‹€.

μ•„λž˜ μ½”λ“œλ₯Ό 확인해보면, Int64와 λ™μΌν•œ λ²”μœ„κ°€ 좜λ ₯λ˜λŠ” κ²ƒμœΌλ‘œ 보아, λ‚΄κ°€ μ‚¬μš©ν•˜λŠ” μ•„ν‚€ν…μ²˜λŠ” 64λΉ„νŠΈμž„μ„ μ•Œ 수 μžˆλ‹€.

 

μš°λ¦¬κ°€ μ½”λ“œλ₯Ό μž‘μ„±ν•  λ•Œ, 큰 값을 ν•„μš”λ‘œ ν•˜μ§€ μ•Šμ„ λ•ŒλŠ”

ꡳ이 큰 크기의 λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³ , μž‘μ€ λΉ„νŠΈλ₯Ό κ°€μ§€λŠ” νƒ€μž…μ„ μ‚¬μš©ν•΄λ„ μΆ©λΆ„ν•˜λ‹€.

λ§Œμ•½ λ‚΄κ°€ μ‚¬μš©ν•˜λŠ” μ•„ν‚€ν…μ²˜κ°€ 64λΉ„νŠΈμΌ λ•Œ, μž‘μ€ 값을 λ„£μ–΄μ£Όκ³  싢을 땐 κ·Έλƒ₯ Intλ₯Ό μ‚¬μš©ν•˜κΈ°λ³΄λ‹€λŠ”,

Int16κ³Ό 같이 μ„ μ–Έν•΄μ€€λ‹€λ©΄ λ©”λͺ¨λ¦¬λ₯Ό 보닀 효율적으둜 μ‚¬μš©ν•  수 μžˆλŠ” 것이닀.

 

πŸ‘‰ λ”°λΌμ„œ 이 λ‹€μ–‘ν•œ νƒ€μž…λ“€μ€ λ©”λͺ¨λ¦¬λ₯Ό 효율적으둜 μ‚¬μš©ν•˜κΈ° μœ„ν•΄μ„œ μ‚¬μš©ν•˜λŠ” 것.!!


 

μ°Έκ³ 

 

λŒ“κΈ€