반응형
저는 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을 사용하는 것입니다.
반응형
'iOS > Swift' 카테고리의 다른 글
[Swift] 구문 레이블 (for문 중첩 제어) (0) | 2022.04.02 |
---|---|
[iOS] API 사용시 url에 한글을 사용할 수 없는 문제 (0) | 2022.03.25 |
[Swift] String 문자열에서 문자 접근하기 (0) | 2022.03.15 |
[iOS] plist 데이터 불러와서 사용하기 (0) | 2022.02.24 |
[iOS] URLSession으로 get method 사용 (0) | 2022.02.22 |