이진수 구하기

박지예·2021년 9월 8일
0

공부

목록 보기
6/42

이진수를 구하는 알고리즘

x = int(input("숫자를 입력하세요"))
result = '' # 이진수가 저장될 문자열
while True: #무한 루프
    if(x%2 == 0): # X가 2로 나눠질때 나머지가 0이면 0을 저장, 아니면 1을 저장
        result += '0'
    else:
        result += '1'
    x= x//2 # 2를 나눈수의 몫만 x에 다시 저장
    if(x == 0 or x == 1): #종결조건
        result += str(x) #숫자를 문자열로 바꿔주어야 함
        print(result[::-1]) #뒷 수부터 하나씩 슬라이싱
        break #탈출

int 형으로 x값을 받아준다.
result라는 문자열 변수에다 앞으로의 값을 더할 것 이다.
x를 2로 나눈 값의 나머지를 result변수에 저장해준다.
result가 문자열 이니까 당연히 나머지도 문자열로 바꿔주기!
이제 다음 while문이 다시 실행되기 전에 x에다가 x를 2로 나눈값에 몫을 넣어준다.
마지막 if문은 x가 0 이거나 1일때 마지막으로 x의 값을 result에 넣어준다.
여기서도 변수형 주의
result변수를 뒤에서부터 하나씩 출력해준다

결과

profile
언젠간 바다로 갈거야!🐋

0개의 댓글