Programa en C para convertir sistemas numéricos decimales a hexadecimales

Programa en C para convertir sistemas numéricos decimales a hexadecimales

Escriba un programa en C para ingresar el número decimal del usuario y convertirlo al sistema numérico hexadecimal. Cómo convertir el sistema numérico decimal a hexadecimal en programación C. Lógica para convertir sistema numérico decimal a hexadecimal en programación C.

Ejemplo

Entrada

Input decimal number: 26

Salida

Hexadecimal number: 1A

Conocimiento requerido

Programación básica en C, ciclo while, matriz, cadena

Sistema numérico decimal

Sistema numérico decimal es un sistema numérico de base 10. El sistema numérico decimal utiliza 10 símbolos para representar todos los números, es decir, 0123456789

Sistema numérico hexadecimal

Sistema numérico hexadecimal es un sistema numérico de base 16. El sistema numérico hexadecimal utiliza 16 símbolos para representar todos los números, es decir, 0123456789ABCDEF

Algoritmo para convertir sistema numérico decimal a hexadecimal

Algorithm Conversion from Decimal to Hexadecimal
begin:
    read (decimal);
    hex ← NULL; rem ← 0;
    HEXVALUES[] ← 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F;
    While(decimal != 0)
        begin:
            remdecimal % 16;
            hexhex + HEXVALUES[rem];
            decimaldecimal / 16;
        end;
    Reverse(hex);
    print('Hexadecimal = ' hex);
end;

Programa para convertir sistema numérico decimal a hexadecimal

/**
 * C program to convert from Decimal number system to hexadecimal number system
 */

#include <stdio.h>
#include <string.h>

int main()
{
    char HEXVALUE[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};

    long long decimal, tempDecimal;
    char hex[65];
    int index, rem;
    
    /* Input decimal number from user */
    printf("Enter any decimal number: ");
    scanf("%lld", &decimal);
    tempDecimal = decimal;

    index = 0;
    
    /* Decimal to hexadecimal conversion */
    while(tempDecimal !=0)
    {
        rem = tempDecimal % 16;

        hex[index] = HEXVALUE[rem];

        tempDecimal /= 16;

        index++;
    }
    hex[index] = '\0';

    strrev(hex);

    printf("\nDecimal number = %lld\n", decimal);
    printf("Hexadecimal number = %s", hex);

    return 0;
}

Salida

Enter any decimal number: 427
Decimal number = 427
Hexadecimal number = 1AB

Feliz codificación 😉

Publicaciones recomendadas

  • Ejercicios de programación de bucles y soluciones en C.
  • Programa en C para convertir sistemas numéricos decimales a binarios.
  • Programa en C para convertir sistemas numéricos decimales a octales.
  • Programa en C para convertir el sistema numérico binario a hexadecimal.
  • Programa en C para convertir sistemas numéricos octales a hexadecimales.
  • Programa en C para convertir el sistema numérico hexadecimal a decimal.