Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- multiline
- 중첩함수
- 옵셔널
- JavaScript
- 데이터타입함수
- ios
- 17681
- ReactNative
- textinput
- reactnavigation
- client-side-rendering
- Server-Side-Rendering
- 동적언어
- switch구문
- 프로그래머스
- reactnative android
- 72410
- 약타입
- lineending
- 비반환함수
- 함수형프로그래밍
- 리액트네이티브
- SWIFT
- 약타입언어
- DelayInput
- 나를부르는숲
- replacingOccurrences
- 스위프트
- beforePopState
- next.js
Archives
- Today
- Total
으니의 개발로그
[Swift] 진수 변환 본문
[Swift] 진수 변환
10진수 -> 2진수
let decimal: Int = 30
let binary: String = String(decimal, radix: 2)
print(binary)
/* 11110 */
2진수 -> 10진수
let binary: String = "11011"
let decimal: Int = Int(binary, radix: 2)!
print(decimal)
/* 27 */
radix
를 2로 지정하면 정말 간단하게 10진수 <-> 2진수의 변환이 가능하다. 조금 주의할 점은 10진수는 타입이 Int
, 다른 진수의 타입은 String
이라는 것! 타입을 어떻게 넣느냐에 따라 10진수로 바뀌느냐 2진수로 바뀌느냐가 결정된다. 그리고 2진수에서 10진수로 변환할 때 !
를 넣어주는 이유는 문자가 숫자가 아닌 경우에 숫자로 변환하면 nil
이 나타날 수 있기에 옵셔널로 처리되기 때문이다.
그럼 10진수 <-> 8진수 변환은 어떻게 할까? radix
에 8을 지정해주면 된다. 이보다 더 간단할 순 없다!
10진수 -> 8진수
let octal: String = "764"
let decimal: Int = Int(octal, radix: 8)!
print(decimal)
/* 500 */
8진수 -> 10진수
let decimal: Int = 924
let octal: String = String(decimal, radix: 8)
print(octal)
/* 1634 */
10진수 -> 16진수
let decimal: Int = 142
let hexadecimal: String = String(decimal, radix: 16)
print(hexadecimal)
/* 8e */
16진수 -> 10진수
let hexadecimal: String = "ab"
let decimal: Int = Int(hexadecimal, radix: 16)!
print(decimal)
/* 171 */
이번에는 16진수이기 때문에 radix
에 16을 지정해주면 된다.
그러면! 2진수에서 16진수로 변환하는 건 어떻게 해야할까? 바로 가는 방법은 없고, 10진수를 거쳐서 가면 된다.
2진수 -> 16진수
let binary: String = "11111101"
let hexadecimal: String = String(Int(binary, radix: 2)!, radix: 16)
print(hexadecimal)
/* fd */
16진수 -> 2진수
let hexadecimal: String = "feed"
let binary: String = String(Int(hexadecimal, radix: 16)!, radix: 2)
print(binary)
/* 1111111011101101 */
'Swift > with. APS' 카테고리의 다른 글
[Swift] 앞뒤 공백 제거하기 / 앞뒤의 특정 문자 제거하기 (0) | 2021.02.10 |
---|---|
[Swift] 문자열에서 특정 문자 제거하거나 치환하기 (0) | 2021.02.10 |
[Swift] 문자열이나 배열에 특정 문자가 포함돼있는지 확인하기 (0) | 2021.02.09 |
[Swift] init(repeating:count:) 사용하기 (0) | 2021.02.03 |
[Swift] 인덱스로 문자열의 글자 가져오기 (0) | 2021.02.02 |