Conversion de binaire en décimal puis de binaire en hexadécimal,
Fermé
Damada24
Messages postés
2
Date d'inscription
samedi 25 février 2017
Statut
Membre
Dernière intervention
25 février 2017
-
25 févr. 2017 à 02:03
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 25 févr. 2017 à 15:40
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 - 25 févr. 2017 à 15:40
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.
- Code binaire : principe, codage, règles, symboles - Guide
- Winrar 64 bits windows 10 - Télécharger - Compression & Décompression
- Codage ascii - Guide
- 32 bits - Guide
- Code puk bloqué - Guide
1 réponse
Dalfab
Messages postés
706
Date d'inscription
dimanche 7 février 2016
Statut
Membre
Dernière intervention
2 novembre 2023
101
25 févr. 2017 à 15:40
25 févr. 2017 à 15:40
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