iOS/Swift

[Swift] 10진수를 2진수로 변환하는 방법

유훈 | Yuhun 2022. 3. 15. 20:49
반응형

저는 10진수를 2진수로 변환할 때 2로 나누고 나머지를 계산하는 방법을 구현했습니다. 그런데 알고 보니 더 좋은 방법이 있어서 정리합니다.

 

10 진수애 서 2진수로 변환

import UIKit

let decimalNumber: Int = 10

let binaryNumber: String = String(decimalNumber, radix: 2) // 1010(2진수)

변환에 String이 사용되었는데 굳이 Int가 필요하면 다음과 같이 다시 변환해 주면 되긴 합니다. (아직까진 쓸 일이 있을진 모르겠습니다.)

import UIKit

let decimalNumber: Int = 10

let binaryNumber: Int = Int(String(decimalNumber, radix: 2))! // 1010(2진수), 옵셔널 강제 추출

 

 

2진수를 10진수로 변환

Int의 binaryNumber 자리에는 String을 넣어야 합니다. 그리고 String을 변환했기에 !로 옵셔널 강제 추출을 했습니다.

import UIKit

let binaryNumber: String = "1010" // 2진수 1010

let decimalNumber: Int = Int(binaryNumber, radix: 2)! // 10

 

여기서 8진수나 16진수 같이 변환이 필요하다면 radix에 8, 16을 넣어주면 됩니다.

이렇게 간단하게 진수 변환을 할 수 있었습니다. 주의할 점은 10진수는 Int를 사용하고 나머지로 변환 시에는 String을 사용하는 것입니다.

반응형