Article image
Carlos Soares
Carlos Soares06/05/2024 12:36
Compartilhe

Como Fazer um Conversor Decimal para Binário utilizando conceito de Pilhas em Python

  • #Python

Neste artigo vamos aborda um código Python que implementa um conversor de números decimais para binários usando o conceito de pilha.

A pilha é uma estrutura de dados que segue a regra "último a entrar, primeiro a sair" (LIFO - Last In, First Out).

Iniciando nosso código

O código começa com a definição de uma classe chamada Pilha, que será responsável por representar a estrutura de pilha. Em seguida, são definidos métodos para adicionar elementos (push), remover elementos (pop), verificar o elemento no topo (top) e verificar se a pilha está vazia (empty).

class Pilha():
  def __init__(self):
      self.data = []


  def push(self, x):
      self.data.append(x)


  def pop(self):
      if len(self.data) > 0:
          return self.data.pop(-1)


  def top(self):
      if len(self.data) > 0:
          return self.data[-1]


  def empty(self):
      return not len(self.data) > 0

Implementação do Conversor Decimal para Binário

Após a definição da classe Pilha, o código principal cria uma instância dessa classe (p = Pilha()) e solicita que o usuário insira um número decimal a ser convertido.

p = Pilha()
numeroEscolhido = int(input("Digite um numero para ser convertido... "))

Em seguida, o código calcula o valor binário do número decimal inserido pelo usuário. Usando o algoritmo de divisão sucessiva por 2 para calcular os dígitos binários.

num = numeroEscolhido
while num > 0:
  resto = num % 2
  num = num // 2
  p.push(resto)

O resultado binário é armazenado na pilha p. Depois os elementos são removidos da pilha e armazenados em uma lista chamada resultado.

while not p.empty():
  resultado.append(p.pop())

Finalmente, o código exibe o número decimal original e seu equivalente binário.

print(f"O número {numeroEscolhido} em binário é {resultado}")

image

Concluindo, este código Python mostra de forma simples como implementar um conversor de números decimais para binários usando o conceito de pilha. Depois de analisar e entender este código, se torna fácil a compreensão e retenção de conceitos sobre pilhas e algoritmos de conversão numérica.

Vamos Disseminar os Conhecimentos e Transbordar Tudo o que Aprendemos!

Segue o Link do meu LinkedInhttps://www.linkedin.com/in/carlos-cgs/

Segue o Link do meu GitHub com todo o código na íntegra: https://github.com/Carlos-CGS/ProjetosPython/tree/main/Conversor%20Decimal-Binario

Compartilhe
Comentários (0)