• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Barassa

Dec 2 Hex

2 mensagens neste tópico

O objectivo é converter um inteiro decimal dado em hexadecimal.

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

int i,divisao,resto[50];

int main()
{
    
    scanf("%d",&divisao)
    i=0;    
    while(divisao!=0)
    {                 
    divisao = divisao/16;
    resto[i]= divisao % 16;
    i++;
    }
    
    printf("%x/n",resto)
    return 0;
}

Alguem me pode dizer se está bem? É que Comecei a trabalhar em C hoje..  :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A conversão de um inteiro decimal num inteiro hexadecimal não é algo que seja implementável, simplesmente porque para o computador o número é o mesmo. Até porque para o computador, todos os dados são binários.

A sua representação (no ecrã) é que pode ser hexadecimal, ou decimal, ou binária, ou seja o que for. Nesse sentido, o próprio printf tem código que representa um inteiro nas várias formas. Por exemplo:

int x=22; printf("Decimal: %d\nHexadecimal: %x\n", x, x);

A variável utilizada foi a mesma (x), mas o printf escreveu no ecrã das duas maneiras.

Resumindo... não percebi muito bem o objectivo do exercício.

Ah, e já agora tens a barra ao contrário no \n do printf.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora