Conversion de binaire en décimal puis de binaire en hexadécimal,
Damada24
Messages postés
2
Statut
Membre
-
Dalfab Messages postés 638 Date d'inscription Statut Membre Dernière intervention -
Dalfab Messages postés 638 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Quel sont les conditions qu'on peut poser pour cette conversion et comment les calculer en c merci d'avance
Quel sont les conditions qu'on peut poser pour cette conversion et comment les calculer en c merci d'avance
A voir également:
- Pour être traitée par un ordinateur, l'information est codée avec un codage binaire (0 ou 1). elle occupe une certaine quantité d'espace mémoire mesurée en nombre de bits. voici deux façons de coder des lettres avec un codage binaire. le code 1 utilise 8 bits par lettre. le code 2 utilise moins de bits.
- Codage ascii - Guide
- Winrar 64 bits - Télécharger - Compression & Décompression
- Clé windows 10 pro 64 bits gratuit - Guide
- 32 bits - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
1 réponse
Bonjour,
Le problème des conversions de bases est le plus anti-pédagogique que je connaisse, heureusement on ne l'a qu'à l'école.
Il y a deux concepts importants à trouver ici, quel seront les types des données et quels seront les algorithmes de conversion.
Le premier est le plus difficile à deviner. On peut à partir d'une séquence de 'chiffres' dans une base en entrée trouver le nombre correspondant, ou à partir d'un nombre trouver la séquence de chiffres qui lui correspond dans une base destination. Un unsigned par exemple est un nombre, il est ce qu'il est, on peut décider de le représenter dans une base donnée, il sera alors vu sous la forme d'une séquence de caractères.
On devrait pouvoir créer les fonctions :
L'intêret d'utiliser une séquence de caractère est que pour la saisir ou l'afficher, il n'y a qu'un code minimal.
Le cas de la base 16 est le plus difficile, mais si l'utiliser est autorisé, c'est aussi celui que la bibliothèque connait déjà, les fonctions de conversions s'écrivent en une simple utilisation de
Tu peux essayer cette piste ou d'autres, n'hésite pas à poster tes essais
Dalfab
Le problème des conversions de bases est le plus anti-pédagogique que je connaisse, heureusement on ne l'a qu'à l'école.
Il y a deux concepts importants à trouver ici, quel seront les types des données et quels seront les algorithmes de conversion.
Le premier est le plus difficile à deviner. On peut à partir d'une séquence de 'chiffres' dans une base en entrée trouver le nombre correspondant, ou à partir d'un nombre trouver la séquence de chiffres qui lui correspond dans une base destination. Un unsigned par exemple est un nombre, il est ce qu'il est, on peut décider de le représenter dans une base donnée, il sera alors vu sous la forme d'une séquence de caractères.
On devrait pouvoir créer les fonctions :
unsigned int convertirSeqBase2VersNb( const char seq[] ); void convertirNbVersSeqBase8( unsigned int nbr , char seq[] );On peut aussi peut-être se passer du nombre intermédiaire avec :
void convertirSeqBaseVersSeqBase( const char seqIn[] , unsigned baseIn, unsigned baseOut, char seqOut[] );
L'intêret d'utiliser une séquence de caractère est que pour la saisir ou l'afficher, il n'y a qu'un code minimal.
char seqIn[33]; char seqOut[33]; printf( "entrer la sequence a convertir" ); scanf( "%32s" , seqIn ); unsigned nbr = convertirSeqBase2VersNb( seqIn ); convertirNbVersSeqBase8( nbr , seqOut ); printf( "sequence convertie : %s\n" , seqOut );Les fonctions de conversion devront gérer des transformations caractère<=>chiffre en plus du travail sur la base.
Le cas de la base 16 est le plus difficile, mais si l'utiliser est autorisé, c'est aussi celui que la bibliothèque connait déjà, les fonctions de conversions s'écrivent en une simple utilisation de
sscanf(seqIn,"%x",&nbr)et
sprintf(seqOut,"%x",nbr);.
Tu peux essayer cette piste ou d'autres, n'hésite pas à poster tes essais
Dalfab