Suyeon9911 / TIL

매일 오전에 적는 미라클 TIL 🥣
10 stars 0 forks source link

[Swift] 진수 변환 init(_:radix:) #96

Closed Suyeon9911 closed 1 year ago

Suyeon9911 commented 1 year ago
image

Swift에서는 진법 변환을 해주는 이니셜라이저가 있습니당. 공식 문서에 보면 지정된 문자열 및 기수에서 새 정수값을 만듭니다! 라고 되어있습니당.

10진수를 2진수로 변환

var value = 100
var result = ""

result = String(value,radix: 2)

print(result)
//결과 : 1100100

결과는 String 타입으로 반환 됩니다.

2진수를 10진수로 변환

var value = "1100100"
var result : Int = Int(value,radix: 2)!

print(result)
//결과 : 100

2진수를 10진수로 바꾸는 방법은 String 형태의 2진수여야하고, 10진수는 Int형이므로 Int로 받아야한다. value의 문자열이 숫자로 변환되지 않을 때 nil을 반환할 수도 있기 때문에 강제언래핑을 해줍니다

2진수에서 16진수로 바꾸기

import Foundation

var value = "11001001"
var result : Int = Int(value,radix: 2)!

var newResult : String = String(result, radix : 16)

print(newResult)
// 결과 : c9

2진수에서 16진수로 바꾸려면 2진수-> 10진수-> 16진수 순서로 바꿔줘야한다.