Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bru_ce

Transformar em Hexadecimal

Recommended Posts

Bom Dia Pessoal,

estou com uma dúvida, tenho um trabalho da facul que é o seguinte,

preciso que o usuário digite qualquer número, e ele seja transformado em hexadecimal, alguma luz ? obrigado !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você pode usar scanf em conjunto com printf, exemplo:

 

//...
int i;
//...
scanf("%d", &i);
printf("Numero em hexadecimal: %X\n", i);
//...

 

Ou criar sua própria função, exemplo:

/*
*  Copyright 2012 Mateus G. Pereira
*
*  Este programa é um software livre; você pode redistribui-lo e/ou
*  modifica-lo dentro dos termos da Licença Pública Geral GNU como
*  publicada pela Fundação do Software Livre (FSF); na versão 2 da
*  Licença, ou (na sua opnião) qualquer versão.
*
*  Este programa é distribuido na esperança que possa ser  util,
*  mas SEM NENHUMA GARANTIA; sem uma garantia implicita de ADEQUAÇÂO
*  a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR. Veja a Licença
*  Pública Geral GNU para maiores detalhes.
*
*  Você deve ter recebido uma cópia da Licença Pública Geral GNU
*  junto com este programa, se não, escreva para a Fundação do Software
*  Livre(FSF) Inc., 51 Franklin St, Fifth Floor, Boston,
*  MA  02110-1301 USA
*
*/

#include <stdio.h>
#include <stdlib.h>

void htos (char* s, int n)
{
   static const char hex[] = "0123456789ABCDEF";
   int tn = n, digs = 0;

   if(n == 0)
   {
       *s++ = '0';
       *s = '\0';
       return;
   }

   while(tn)
   {
       tn /= 16;
       digs++;
   }

   s += digs;
   *s-- = '\0';

   while(n)
   {
       *s-- = hex[n % 16];
       n /= 16;
   }
}

int main()
{
   char buffer[64];
   int i;

   scanf("%d", &i);
   htos(buffer, i);
   printf("Em hexadecimal htos = %s, printf = %X\n", buffer, i--);
   return 0;
}

 

Obs.: Não é possível converter o inteiro em si para outra base, pois este está incondicionalmente na base binária, mas sim na sua conversão para string.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.