Ir para conteúdo
Entre para seguir isso  
Lord13

Conversão de bases numéricas - Algoritmo

Recommended Posts

CONVERTER BASES NUMÉRICAS

Nome: -

Versão: -

Autor: @Lord13

Data: 22/06/2017

Descrição: Esse é um algoritmo genérico que demonstra o funcionamento de conversão entre bases, na verdade é até um script em Python, mas uma breve lida no código nos permite obter uma ideia.

Lembrando que: Ele somente converte  de base 10 para qualquer base b | 2 <= b <= 64), e "desconverte" qualquer base para decimal.  Onde o base64 não infere no base64 real, somente é um sistema numérico que possui 64 possibilidades (0-9, A-Z, a-z, +, /).

Download:

def converter_base(num, base):
	lista1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"
	lista = []
	while num != 0:
		dec1 = num % base
		num = num / base
		lista.append(lista1[dec1])
	lista.reverse()
	return "".join(lista)


def desconverter_base(num, base=10):
	numeros = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz+/"
	num = str(num)[::-1] if base > 36 else str(num)[::-1].upper()
	if any([i in num for i in numeros[base:]]): raise TypeError('Invalid input number for this base!')
	resultado = 0

	for i in range(len(num)):
		resultado += (base**i) * (int(numeros.index(num[i])))

	return resultado

 

Editado por Lord13
  • Curtir 1
  • Amei 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Somente 75 emoticons máximos são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar editor

×   You cannot paste images directly. Upload or insert images from URL.

Entre para seguir isso  

×
×
  • Criar Novo...

Informação Importante

Ao usar este site, você concorda com nossos Termos de Uso.