You are on page 1of 7

Conversion binaire et hexadcimale

Vous devez
1. Ecrire un algorithme qui convertit un nombre entier positif saisi auprs de lutilisateur en sa reprsentation binaire associe. 2. Ecrire un algorithme qui convertit un nombre entier positif saisi auprs de lutilisateur en sa reprsentation hexadcimale associe. 3. Implmenter ces 2 algorithmes avec le logiciel Pratiquer lalgorithmique . 4. Pour ceux qui le veulent, implmenter via Pratiquer lalgo un algorithme qui convertit une reprsentation binaire saisie auprs de lutilisateur en son nombre dcimal positif associ.

Conversion binaire et hexadcimale : proposition de correction

1.

Algorithme en_binaire Rle Conversion dun nombre dcimal positif en binaire Variables n, m, bit : Entiers binaire : Chane de caractres Dbut Rpter Afficher("Entrez la valeur entire positive convertir en binaire : ") Saisir(n) Jusqu ce que n > -1 m <- n Remarque Copie de la valeur de n binaire <- "" Rpter bit <- m Modulo 2 binaire <- EnChane(bit) + binaire m <- (m bit) / 2 Jusqu' m = 0 Afficher(n, " scrit ", binaire, " en binaire") Fin

2.

3.

Algorithme en_binaire Remarque Conversion d'un Entier , positif Ou nul , en binaire Variable n , m , bit : Entier Variable binaire : Chane Dbut | Rpter | | Afficher ( "Entrer la valeur entire positive convertir en binaire :" ) | | Saisir ( n ) | Jusqu' n > - 1 | m <- n | binaire <- "" | Rpter | | bit <- Modulo ( m , 2 ) | | binaire <- EnChane ( bit ) & binaire | | m <- ( m bit ) / 2 Remarque Ou m <- DivEnt ( m , 2 ) | Jusqu' m = 0 | Afficher ( n , " s'crit " , binaire , " en binaire" ) Fin

Algorithme en_hexadcimal Remarque Conversion d'un Entier , positif Ou nul , en hexadcimal Variable n , m , digit : Entier Variable hexa : Chane Dbut | Rpter | | Afficher ( "Entrer la valeur entire positive convertir en hexadcimal :" ) | | Saisir ( n ) | Jusqu' n > - 1 | m <- n | hexa <- "" | Rpter | | digit <- Modulo ( m , 16 ) | | Si digit > 9 Alors | | | Selon digit | | | | Cas 10 | | | | | hexa <- "A" & hexa | | | | Cas 11 | | | | | hexa <- "B" & hexa | | | | Cas 12 | | | | | hexa <- "C" & hexa | | | | Cas 13 | | | | | hexa <- "D" & hexa | | | | Cas 14 | | | | | hexa <- "E" & hexa | | | | Cas 15 | | | | | hexa <- "F" & hexa | | | FinSelon | | Sinon | | | hexa <- EnChane ( digit ) & hexa | | FinSi | | m <- DivEnt ( m , 16 ) Remarque Ou m <- ( m - digit ) / 16 | Jusqu' m = 0 | Afficher ( n , " s'crit " , hexa , " en hexadcimal" ) Fin

Ou, en utilisant le codage ASCII :

Algorithme en_hexadcimal Remarque Conversion d'un Entier , positif Ou nul , en hexadcimal Variable n , m , digit : Entier Variable hexa : Chane Dbut | Rpter | | Afficher ( "Entrer la valeur entire positive convertir en hexadcimal :" ) | | Saisir ( n ) | Jusqu' n > - 1 | m <- n | hexa <- "" | Rpter | | digit <- Modulo ( m , 16 ) | | Si digit > 9 Alors | | | hexa <- Caractre ( digit + 55 ) & hexa | | Sinon | | | hexa <- EnChane ( digit ) & hexa | | FinSi | | m <- DivEnt ( m , 16 ) | Jusqu' m = 0 | Afficher ( n , " s'crit " , hexa , " en hexadcimal" ) Fin

4. Conversion binaire vers dcimal :

Algorithme en_dcimal Remarque Conversion d'une reprsentation binaire en son dcimal positif associ Variable position , bit , dcimal : Entier Variable binaire : Chane Variable erreur : Boolen Dbut | Rpter | | Afficher ( "Entrer la reprsentation binaire :" ) | | Saisir ( binaire ) | Jusqu' binaire <> "" | erreur <- Faux | dcimal <- 0 | position <- 1 | Rpter | | bit <- EnNumrique ( SousChane ( binaire , position , 1 ) ) | | Si bit > - 1 Et bit < 2 Alors | | | dcimal <- dcimal * 2 + bit | | | position <- position + 1 | | Sinon | | | erreur <- Vrai | | FinSi | Jusqu' position > Lg ( binaire ) Ou erreur | Si erreur Alors | | Afficher ( "Il y a une erreur de saisie dans la reprsentation binaire " , binaire , " [caractre n" , position , "]" ) | Sinon | | Afficher ( "le binaire " , binaire , " vaut " , dcimal , " en dcimal" ) | FinSi Fin

You might also like