티스토리 뷰

Swift

[Swift] 진수 변환(radix)

희철 2022. 6. 6. 23:57

프로그래머스에서 "3진법 뒤집기"라는 문제에서 다른 분의 답을 보고 진수 변환이 편리하게 가능한 것을 알게 되었다. 

 

아래는 공식문서에 나와있는 정보이다.

위의 내용을 보면 알 수 있듯이 text를 integer 값으로 변환시킬 수 있는 메서드이다. radix는 2에서 36사이의 값이어야 하고, default는 10이라고 한다. 

 

x진수를 10진수로

평소에 문제를 풀다보면 String값을 Int로 바꾸는 경우가 많았다. 예를 들어 String값으로 주어진 "123"을 Int로 사용하고 싶을 땐 Int("123")을 사용하는데, 이것이 radix에 default값이 10이 들어가있던 것이다. 즉, Int("123", radix: 10)이 원래의 표현이지만 radix가 생략된 것이다. 이때 주의해야 할 것은 리턴값은 옵셔널이다.

 

아래의 예시 코드를 보고 확실하게 이해해보자.

즉, Int("a", radix: b)를 이용하면 b진법으로 나타낸 a라는 수가 10진법으로 어떤 수인지 알 수 있다.

위의 코드에선 반드시 값이 있기 때문에 !를 이용하여 강제 언래핑을 해준 상태이다.

 

10진수를 x진수로

그렇다면 10진법으로 나타낸 어떤 수를 다른 진법으로 나타내고 싶을 땐 어떻게 해야할까.

 

위에서 Int를 이용했다면 이번엔 String을 이용하면 된다. 

String(a, radix: b)에서 a에는 변환하고 싶은 수를(Int), b에는 a를 어떤 진수로 나타내고 싶은지 

 

간단하게 진수 변환을 할 수 있는 방법이 있으므로 알맞게 잘 사용해보자.

'Swift' 카테고리의 다른 글

[Swift] 접근 제어  (0) 2022.08.28
[Swift] Optional(옵셔널)  (0) 2022.07.07
[Swift] 튜플(Tuple)  (0) 2022.06.10
[Swift] 순열과 조합(Permutation / Combination) 구현해보기  (0) 2022.05.10
[Swift] enumerated()  (0) 2022.04.26
댓글
최근에 올라온 글
Total
Today
Yesterday