Advertisement
DeukausGames

Base Convert

Feb 14th, 2020
154
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.37 KB | None | 0 0
  1. print('Bem vindo ao base-convert!')
  2. def choose():
  3.     select = int(input('Insira o numero :\n[0] Binario\n[1] Decimal\n[2] Hexadecimal\n[3] Octal\n'))
  4.     selecao(select)
  5. def selecao(select):
  6.     def erro():
  7.         print('Numero Invalido!')
  8.         selecao(select)
  9.     if select == 0:
  10.         num = input('Insira o numero binario :\n')
  11.         try:
  12.             int(num)
  13.         except:
  14.             erro()  
  15.         if num in '23456789':
  16.             erro()
  17.         bin(num)
  18.     if select == 1:
  19.         num = input('Insira o numero decimal:\n')
  20.         try:
  21.             int(num)
  22.         except:
  23.             erro()
  24.         dec(num)
  25.                    
  26. def bin(num):
  27.     decimal = 0
  28.     contador = -1
  29.     for b in range(len(num)-1, -1, -1):
  30.         contador += 1
  31.         if num[b] == '1':
  32.             decimal += (2**contador)
  33.     print(f'o decimal é {decimal}')
  34.        
  35. def dec(num):
  36.     def cMax(c):
  37.         while True:
  38.             if (2**(c+1) > int(num)):
  39.                 return c
  40.             c += 1      
  41.     binario = ""
  42.     nAtual = int(num)
  43.     contador = cMax(0)
  44.     while True:
  45.         if (2**contador) <= int(nAtual):
  46.             nAtual -= (2**contador)
  47.             binario += '1'
  48.         else:
  49.             binario += '0'
  50.         contador -= 1
  51.         if contador == -1:
  52.             break
  53.     print(f'O binario é {binario}')
  54.  
  55.  
  56. choose()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement