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; }