Coding
Algorithm. swift. 진수 변환
out of coding
2018. 7. 16. 11:19
요즘 별거 아닌거 가지고 머리를 너무 써야 하는 상황들이 있어서.
그냥 머리를 식힐겸 swift로 진수 변환하는 알고리즘을 올려봅니다.
더 좋은 방법이 생각나면 수정해보겠습니다.
숫자와 진수를 받으면 10진수로 변환해서 return 합니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | func convert(_ original: Int, _ number: Int) -> Int { var remain = original var result: Double = 0 var index: Double = 0 while remain > 0 { let temp = remain / 10 let target = remain - (temp * 10) let powValue = pow(Double(number), index) result += powValue * Double(target) remain = temp index += 1 } return Int(result) } let result = convert(111, 5) print(result) | cs |
결과값
1 | 31 | cs |