Convertisseur binary hexadécimal et source de code hexadécimal binary en c

Convertisseur hexadécimal binaire et la source de code hexadécimal binaire en c





             This programme Convertisseur hexadécimal binaire et la source de code hexadécimal binaire 

                                    ********************Code Soure*********************


///Author: Karara Mohamed  @   tutodev1.blogspot.com/
#include <stdio.h>
#include <math.h>
#include <string.h>
binary_hex (int n, hexa []);
int hex_binary (char hex []);
int main ()
{
    omble hex [20], c;
    int n;
    printf ("Instructions: \ n");
    printf ("Entrez h pour convertir binaire en hexadécimal: \ n");
    printf ("Entrez b pour nombre hexadécimal en binaire: \ n");
    printf ("Entrez un caractère:");
    scanf ("% c", & c);
    if (c == 'h' || c == 'H')
    {
        printf ("Entrez le nombre binaire:");
        scanf ("% d", & n);
        binary_hex (n, hex);
        printf ("nombre hexadécimal:% s", hex);
    }
    if (c == 'b' || c == 'B')
    {
        printf ("Entrez le nombre hexadécimal:");
        scanf ("% s", hex);
        printf ("nombre binaire:% d", hex_binary (hex));
    }
    return 0;
}

binary_hex (int n, char hex []) / * Fonction pour convertir binaire en hexadécimal. * /
{
    int i = 0, décimal = 0, rem;
    while (n! = 0)
    {
        décimal + = (n% 10) * pow (2, i);
        n / = 10;
        ++ I;
    }

/ * A ce stade, la variable décimale contient nombre binaire en décimal. * /
    i = 0;
    while (décimal! = 0)
    {
        rem = décimal% 16;
        commutateur (rem)
        {
            cas 10:
              H [i] = 'A';
              break;
            cas 11:
              H [i] = 'B';
              break;
            cas 12:
              H [i] = 'C';
              break;
            cas 13:
              H [i] = 'D';
              break;
            cas 14:
              H [i] = 'E';
              break;
            cas 15:
              H [i] = 'F';
              break;
            défaut:
              H [i] = rem + '0';
              break;
        }
        ++ I;
        décimal / = 16;
    }
    H [i] = '\ 0';
    strrev (hex); / * Fonction d'inverser chaîne. * /
}

int hex_binary (char hex []) / * Fonction de convertir en hexadécimal en binaire. * /
{
    int i, longueur, décimal = 0, binaire = 0;
    pour (longueur = 0;! hex [longueur] = '\ 0'; ++ longueur);
    for (i = 0; H [i] = '\ 0';! i ++, --length)
    {
        si (H [i]> = '0' && H [i] <= '9')
            décimal + = (H [i] - '0') * pow (16, longueur-1);
        si (H [i]> = 'A' && H [i] <= 'F')
            décimal + = (H [i] -55) * pow (16, longueur-1);
        si (H [i]> = 'a' && H [i] <= 'f')
            décimal + = (H [i] -87) * pow (16, longueur-1);
    }
/ * A ce stade, la variable décimale contient le nombre hexadécimal au format décimal. * /

    i = 1;
    while (décimal! = 0)
    {
        binaire + = (décimal% 2) * i;
        décimal / = 2;
        i * = 10;
    }
    retourner binaire;

}