728x90
문제를 풀다 보면 꽤 많이 나오는,,, 진수 바꾸기~~
알고 있지만 뭔가 꼭 문제 풀 때 헷갈리니까 정리를 해보겠다~
[10진수에서 2진수로!]
let decimal = 5
let binary = String(decimal, radix: 2)
print(binary)
//101
String 이니셜라이져를 사용해서 진행한다. radix에는 바꿀 진수를 넣어준다~
Int 타입을 2진수로 바꾸고, String으로 만든다. 여기서 Int로 가지고 싶다면 init()를 사용해서
바꿔주면 된다~
[2진수에서 10진수로!]
let binary = "10100"
let decimal = Int(binary, radix: 2)!
print(decimal)
//20
10진수에서 2진수로 변환하는 것과 반대로 진행하는데, 2진수는 String 타입이어야 한다.
그리고, Int의 이니셜라이저를 사용하는데, radix에는 10진수로 바꾸려는 진수를 넣어준다.
여기서 String에서 Int를 추출하는데, 이것은 Optional type이다. String에 정수가 없을 수도 있으니까!
unwrapping 해주자~
그리고 다른 진수 변환은... 10진수를 꼭 끼고 진행한다.
2진수에서 16진수로 변환하고 싶다면, 2진수 -> 10진수 -> 16진수
let binary = "11001010"
let decimal = Int(binary, radix: 2)!
let hexadecimal = String(decimal, radix: 16)
print(hexadecimal)
//ca
이런 식으로~~
728x90
'Swift' 카테고리의 다른 글
[Swift] DateFormatter 털어보기 (1/2) (0) | 2024.06.17 |
---|---|
[Swift] 고차 함수를 알아보자! (1) | 2023.11.25 |
Value Type vs Reference Type (1) | 2022.12.30 |
[Swift] 문자열과 문자(Strings & Characters) (2/2) (0) | 2022.02.13 |
[Swift] 문자열과 문자(Strings & Characters) (1/2) (0) | 2022.02.13 |