English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Python에서 이진수와 십진수를相互 변환

덧진수와 비이진수를 주어졌을 때, 우리의 임무는 덧진수를 비이진수로 변환하고, 비이진수를 덧진수로 변환하는 것입니다.

알고리즘

Bintodec()

단계1: 비이진수를 입력합니다.
단계2: 다음으로 비이진수의 길이를 가져옵니다.
단계3: for 루프를 사용하여 비이진수를 십진수로 변환합니다.
비이진수가 1111, 그럼 계산은
1*2**3+1*2**2+1*2**1+1*2**0 = 15
단계4: 숫자를 표시합니다.

Dectobin()

단계1: ده진수를 입력합니다.
단계2: while 루프를 사용하여
*그 숫자로 나눕니다 2. 나머지와 나눗셈을 모두 찾습니다. 다른 변수를 초기화하여 1.
지금 나머지는 이 변수와 곱하여 최종 출력 숫자에 추가됩니다. 이 변수는 1.
*첫 번째 나머지는 시퀀스의 마지막 자리수입니다.
단계3: 값을 표시합니다.

예제 코드

print("*****************************************************)
print(" DECIMAL TO BINARY AND BINARY TO DECIMAL CONVERSION")
print("*****************************************************)
print(" 데시imal을 이진수로 변환하려면... 누르세요 1.")
print(" 이진수를 데시imal로 변환하려면... 누르세요 2)
print("*****************************************************)
my_choice=int(input("귀하의 선택을 입력하세요: "))
if my_choice==1:
i=1
s=0
my_dec=int(input("변환할 데시imal을 입력하세요: "))
while my_dec>0:
   rem=int(my_dec%2)
   s=s+(i*rem)
   my_dec=int(my_dec/2)
   i=i*10
   print ("주어진 숫자의 이진수는 " + s + ".")
else:
   my_bin=input ('변환할 이진수를 입력하세요: ')
   n=len(my_bin)
   res=0
for i in range(1,n+1)
   res=res+ int(my_bin[i-1])*2**(n-i)
print("주어진 이진수의 소수점은 " + res + ".")
print("******************************************************)

출력 결과

*****************************************************
DECIMAL TO BINARY AND BINARY TO DECIMAL CONVERSION
*****************************************************
print(" 데시imal을 이진수로 변환하려면... 누르세요 1.")
print(" 이진수를 데시imal로 변환하려면... 누르세요 2)
*****************************************************
귀하의 선택을 입력하세요: 1
변환할 데시imal을 입력하세요: 15
주어진 숫자의 이진수는 1111.
******************************************************
*****************************************************
DECIMAL TO BINARY AND BINARY TO DECIMAL CONVERSION
*****************************************************
데시imal을 이진수로 변환하려면... 누르세요 1.
이진수를 데시imal로 변환하려면... 누르세요 2
*****************************************************
귀하의 선택을 입력하세요: 2
변환할 이진수를 입력하세요: 1111
주어진 이진수의 소수점은 15.
******************************************************