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
- class
- react
- AWS
- MongoDB
- Bull
- JavaScript
- Queue
- Dinosaur
- TypeScript
- GIT
- Python
- flask
- Nest.js
- mongoose
- Express
- 게임
- Sequelize
- jest
- OCR
- cookie
- nestjs
- game
- 자료구조
- 정렬
- 공룡게임
- dfs
- typeORM
- MySQL
- nodejs
Archives
- Today
- Total
포시코딩
파이썬으로 십진수, 이진수 나타내기 본문
728x90
내장함수는 몰라! 직접 코드로 구현해봄
def getBinary(n):
# 얻어낼 이진수의 자릿수를 세팅해준다.
limit = 5
result = []
while n > 0:
result.insert(0, n%2)
n = n//2
# 마지막은 몫으로 더해줘야 하기 때문에 while문 끝난 뒤 아래처럼 몫을 result에 추가
result.insert(0, n)
# 십진수 2의 경우 010에서 멈추기 때문에 나머지 앞자리를 0으로 채워준다.
while len(result) < limit:
result.insert(0, 0)
# 얻은 result 리스트를 하나의 문자열로 만든다.
# 요소들이 int이기 때문에 map(str, list))를 통해 문자열로 만든 후 join() 진행
binary = str(''.join(map(str, result)))
# 얻어낼 자릿수만큼 잘라준다.
return binary[-limit:]
print(getBinary(11))
원래 있는 파이썬 내장함수
# 십진수 -> 이진수
format(11, '#b') # 0b1011
format(11, 'b') # 1011 접두어 생략
# 이진수 -> 십진수
int('0b1011', 2) # 11
728x90
'Python' 카테고리의 다른 글
zip() 함수로 데이터 엮기 (0) | 2022.12.20 |
---|---|
공백을 메꿔주는 str.rjust, str.ljust, str.zfill (0) | 2022.12.20 |
enumerate를 이용한 for문 거꾸로 돌리기 (0) | 2022.12.12 |
리스트 컴프리헨션(List Comprehension) (0) | 2022.11.22 |
파이썬 기본 문법 (0) | 2022.11.21 |