Convertisseur octal hexadecimal et hexadecimal octal Code source en c

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




                       This programme va Convertisseur octal hexadécimal et octal hexadécimal.


                                ********************  Code source *******************





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




        printf ("Entrez le nombre hexadécimal:");
        scanf ("% s", hex);
        printf ("nombre octal:% d", hex_octal (hex));
    }
    return 0;
}

octal_hex (int n, char hex []) / * fonction pour convertir octal en hexadécimal. * /
{
    int i = 0, décimal = 0, rem;
    while (n! = 0)
    {
        rem = n% 10;
        n / = 10;
        décimal + = rem * pow (8, i);
        ++ I;
    }
/ * A ce point, décimale contient la valeur décimale d'un nombre octal donné. * /
    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_octal (char hex []) / * Fonction de convertir en hexadécimal en octal. * /
{
    int i, longueur, décimal = 0, octal = 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 point décimal contient la valeur décimale d'un nombre hexadécimal donné. * /
    i = 1;
    while (décimal! = 0)
    {
        octal + = (décimal% 8) * i;
        décimal / = 8;
        i * = 10;
    }
    retourner octal;

}