스위프트 내에서 2진법, 16진법 등 진법 변환에 유용한 문법
우선 Apple Developer 문서에서 보면 이렇게 나와 있습니다.
해석을 해보자면, "지정된 문자열 및 기수에서 새 정수 값을 만듭니다." 입니다.
간단한 예시를 통해 쉽게 익혀봅시다 !
var value = 100
var result = ""
result = String(value,radix: 2)
print(result)
//결과 : 1100100
위와 같이 결과가 String으로 반환되는데, radix : 2로 설정해주면 integer 변수의 값이 2진수의 문자열로 반환됩니다.
var value = "1100100"
var result : Int = Int(value,radix: 2)!
print(result)
//결과 : 100
2진수를 10진수로 바꾸는 방법은, String 형태의 2진수여야 하고, 10진수는 Int형이므로 Int로 받아야 합니다!
Int(value,radix: 2)! 에서 !는 value의 문자열이 숫자로 변환되지 않을 때 nil을 반환할 수도 있기 때문에 적어줘야 합니다!
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진수 순서로 바꿔줘야 합니다 !
방식은 위의 방식과 동일합니다.