[Swift] 진수변환 radix

김영민·2022년 4월 26일
0

스위프트 내에서 2진법, 16진법 등 진법 변환에 유용한 문법

우선 Apple Developer 문서에서 보면 이렇게 나와 있습니다.
해석을 해보자면, "지정된 문자열 및 기수에서 새 정수 값을 만듭니다." 입니다.

간단한 예시를 통해 쉽게 익혀봅시다 !

10진수를 2진수로 바꾸기

var value = 100
var result = ""

result = String(value,radix: 2)

print(result)
//결과 : 1100100

위와 같이 결과가 String으로 반환되는데, radix : 2로 설정해주면 integer 변수의 값이 2진수의 문자열로 반환됩니다.

2진수를 10진수로 바꾸기

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을 반환할 수도 있기 때문에 적어줘야 합니다!

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진수 순서로 바꿔줘야 합니다 !
방식은 위의 방식과 동일합니다.

0개의 댓글