일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- django
- PySpark
- google apps script
- Google Spreadsheet
- hive
- Apache
- Python
- c#
- Excel
- 파이썬
- Mac
- Kotlin
- math
- dataframe
- gas
- Tkinter
- string
- numpy
- list
- SQL
- matplotlib
- PostgreSQL
- Google Excel
- Github
- array
- GIT
- Java
- PANDAS
- Redshift
- Today
- Total
달나라 노트
Python int : 숫자 형태로 만들기, 16진수를 10진수로 변환, 8진수를 10진수로 변환, 2진수를 10진수로 변환 (10진수로 변환하기) 본문
Python int : 숫자 형태로 만들기, 16진수를 10진수로 변환, 8진수를 10진수로 변환, 2진수를 10진수로 변환 (10진수로 변환하기)
CosmosProject 2024. 3. 29. 19:11
Python 내장 함수인 int() method는 어떠한 값을 정수로 변환해주는 역할을 합니다.
val_result = '12345'
val_result_int = int(val_result)
print(val_result_int)
print(type(val_result_int))
-- Result
12345
<class 'int'>
사용법은 위와 같습니다.
그냥 어떤 값을 int() method에 전달하면 됩니다.
그러면 그 값을 정수로 바꿔줍니다.
근데 좀 더 정확하게 말하면 여기에는 숨겨진 내용이 왔습니다.
val_result = '12345'
val_result_int = int(val_result, base=10)
print(val_result_int)
print(type(val_result_int))
-- Result
12345
<class 'int'>
위 코드를 보면 int() method에 base라는 parameter가 있습니다.
base는 input받은 값이 몇진수인지를 나타냅니다.
기본값은 10진수이며 그래서 base=10이라고 적은 것입니다.
int(val_result, base=10)
즉, 위 코드를 해석해 보면 "10진수의 형태인 val_result를 정수로 바꿔라."라는 의미입니다.
val_bin = bin(5)
print(val_bin)
val_dec = int(val_bin, base=2)
print(val_dec)
val_dec = int(val_bin.replace('0b', ''), base=2)
print(val_dec)
-- Result
0b101
5
5
위 예시는 5라는 10진수 숫자를 bin() method를 이용하여 2진수로 바꾸고,
이 2진수를 int() method를 이용하여 다시 10진수로 바꾸는 것입니다.
5를 2진수로 바꾸면 0b101이라는 값이 출력되는 것을 볼 수 있습니다.
0b라는 문자는 2진수(binary)라는 의미이고 결국 101이 5를 2진수로 바꾼 것이죠.
그리고 이 101이라는 2진수를 int() method를 이용해 다시 10진수로 바꾸는 코드입니다.
val_dec = int(val_bin, base=2)
print(val_dec)
val_dec = int(val_bin.replace('0b', ''), base=2)
print(val_dec)
2진수를 10진수로 바꿀 때에는 base=2라는 parameter를 설정해야 합니다.
왜냐면 전달된 val_bin이라는 숫자가 2진수이기 때문이죠.
그리고 2진수를 전달할 때에는
0b101이라는 binary flag가 붙어있는 값을 전달해도 되고
0b를 제거하고 101이라는 2진수 그 자체의 값만을 전달해도 됩니다.
val_oct = oct(17)
print(val_oct)
val_dec = int(val_oct, base=8)
print(val_dec)
val_dec = int(val_oct.replace('0o', ''), base=8)
print(val_dec)
-- Result
0o21
17
17
비슷한 방법으로 8진수 -> 10진수 변환도 가능합니다.
val_hex = hex(17)
print(val_hex)
val_dec = int(val_hex, base=16)
print(val_dec)
val_dec = int(val_hex.replace('0x', ''), base=16)
print(val_dec)
-- Result
0x11
17
17
비슷한 방법으로 16진수 -> 10진수 변환도 가능합니다.