Langage en c conversion binaire hexa
Alex31750
Messages postés
7
Statut
Membre
-
Alex31750 Messages postés 7 Statut Membre -
Alex31750 Messages postés 7 Statut Membre -
Bonjour tout le monde, je suis actuellement en IUT mesures physiques et je dois réaliser pour la rentrée un programme de conversion (binaire, hexa, décimal) en langage C. J'ai commencé à travailler dessus, j'ai réussi le programme "binaire-->décimal" mais là je bloque un peu sur le "binaire --> hexa".
j'ai fait mon programme de telle sorte qu'il effectue le travail sur un premier quartet puis sur le deuxième avant de mettre les deux résultats à la suite et de donner donc le résultat sur le bit entier.
J'aimerai affecter A à 10, B à 11, C à 12, D à 13, E à 14 et F à 15 comme dans le langage hexadécimal de base mais je n'y arrive pas, si vous pouviez m'aider, voici mon programme :
j'ai fait mon programme de telle sorte qu'il effectue le travail sur un premier quartet puis sur le deuxième avant de mettre les deux résultats à la suite et de donner donc le résultat sur le bit entier.
J'aimerai affecter A à 10, B à 11, C à 12, D à 13, E à 14 et F à 15 comme dans le langage hexadécimal de base mais je n'y arrive pas, si vous pouviez m'aider, voici mon programme :
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int BinToHex()
{
int poids_binaire[4];
int digit;
int i,k;
int binaire[4];
int resultat = 0;
poids_binaire[0]=1;
poids_binaire[1]=2;
poids_binaire[2]=4;
poids_binaire[3]=8;
printf("Entrer un nombre binaire:\n\n");
for (i=0;i<4;i++)
{
printf(" 1 er quartet : entrer le bit numero %d :\n ",i);
scanf("%d",&digit);
if (digit!= 0 && digit!= 1)
{
printf("RENTREZ UN 0 OU UN 1, ICI IL NE S\'AGIT PAS D\'UN MOT BINAIRE\n");
printf("Entrer le bit numero : %d\n ",i);
scanf("%d",&digit);
}
binaire[i]=digit;
//printf("bin=%d\n",binaire[i]);
//printf("poids=%d\n",poids_binaire[i]);
}
for(k=0;k<4;k++)
{
resultat = resultat + binaire[k]*poids_binaire[k];
}
return (resultat);
}
int BinToHex1()
{
int poids_binaire1[4];
int digit1;
int i1,k1;
int binaire1[4];
int resultat1 = 0;
poids_binaire1[0]=1;
poids_binaire1[1]=2;
poids_binaire1[2]=4;
poids_binaire1[3]=8;
printf("Entrer un nombre binaire:\n\n");
for (i1=0;i1<4;i1++)
{
printf(" 2 eme quartet : entrer le bit numero %d :\n ",i1);
scanf("%d",&digit1);
if (digit1!= 0 && digit1!= 1)
{
printf("RENTREZ UN 0 OU UN 1, ICI IL NE S\'AGIT PAS D\'UN MOT BINAIRE\n");
printf("Entrer le bit numero : %d\n ",i1);
scanf("%d",&digit1);
}
binaire1[i1]=digit1;
//printf("bin=%d\n",binaire[i]);
//printf("poids=%d\n",poids_binaire[i]);
}
for(k1=0;k1<4;k1++)
{
resultat1 = resultat1 + binaire1[k1]*poids_binaire1[k1];
}
return (resultat1);
}
int main()
{
int choix_operation;
int decimal;
int decimal1;
int hexadecimal;
int dec;
int i;
decimal = BinToHex();
decimal1 = BinToHex1();
printf("Le resultat en base decimale de l'octet est donc: %d%d\n",decimal,decimal1);
return 0;
}
A voir également:
- Langage en c conversion binaire hexa
- Langage ascii - Guide
- Langage binaire - Guide
- Editeur hexa - Télécharger - Édition & Programmation
- Question binaire - Forum Bases de données
- Conversion bytes en mo - Forum Réseau