Ir para conteúdo
Fórum Script Brasil
  • 0

C++ e conversão para Hexadecimal


NaoSou

Pergunta

Boa tarde, eu estou tendo problemas com um exercicio.

O exercicio pede o seguinte: 

Faça um programa em C++ para ler um número binario  maior que zero, converter este número

para hexadecimal, usando pilha e apresentar na tela, o resultado da conversão.

 

Usando isso para iniciar a pilha

#include <iostream>
#include "pilha_vetor.h"

int main()
{
	int bin;
	PILHA p;
	cout<<"Insira valor Binario";
	cin>>bin;
	iniciaPilha (p);
	
}

E isso para a conversão:

public static int BinarioDec(String valorBinario) 
{
   int valor = 0;
 
   for (int i=valorBinario.length(); i>0; i--)
   {
      valor += Integer.parseInt(valorBinario.charAt(i-1)+"")*Math.pow(2, (valorBinario.length()-i));
   }
 
   return valor;
}

public static String BinarioHexa(String binario) 
{
	char[] hexa = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
	StringBuilder sb = new StringBuilder();
	int posInicial = 0;
	int posFinal = 0;
	char charEncontrado = '-';

	posInicial = binario.length();
	posFinal = posInicial;

	while (posicaoInicial > 0) 
		{
			posInicial = ((posInicial - 4) >= 0) ? posInicial - 4 : 0;
			charEncontrado = hexa[BinarioDec(binario.substring(posInicial, posFinal))];
			sb.insert(0, charEncontrado);
 
      		posFinal = posInicial;
   		}
 
   return sb.toString();
}

Eu estou tendo dificuldades em fazer esse procedimento utilizando a pilha. Eu pesquisei a respeito e aprendi a fazer a conversão Binário para Hexadecimal, mas não estou conseguindo colocar em código.  Acredito que aquele método de conversão que eu estudei de outra fonte funciona como esperado, mas a parte do exercicio que solicita que o procedimento seja feito e demonstrado dentro de uma pilha que esta me dando dor de cabeça.
 
Agradeço pela ajuda.
 
Caso seja de algum valor, segue a biblioteca de pilhas que estou utilizando: http://notepad.cc/share/HO9M15VgRu

 

Se alguém tiver uma ideia melhor para formatar esse código alem da solução do meu problema, por favor compartilhe.

Editado por NaoSou
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

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

  Apenas 75 emoticons são permitidos.

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

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...