0% ont trouvé ce document utile (0 vote)
39 vues15 pages

Conversion de La Base 10

Le document présente les systèmes de numération décimal, binaire, octal et hexadécimal, ainsi que les méthodes de conversion d'entiers de la base 10 vers ces différentes bases. Il décrit des algorithmes et des méthodes, y compris l'utilisation de tableaux et de chaînes, pour effectuer ces conversions. Des exemples pratiques illustrent chaque méthode de conversion.

Transféré par

charfanet2016
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
39 vues15 pages

Conversion de La Base 10

Le document présente les systèmes de numération décimal, binaire, octal et hexadécimal, ainsi que les méthodes de conversion d'entiers de la base 10 vers ces différentes bases. Il décrit des algorithmes et des méthodes, y compris l'utilisation de tableaux et de chaînes, pour effectuer ces conversions. Des exemples pratiques illustrent chaque méthode de conversion.

Transféré par

charfanet2016
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

système décimal 10

système binaire 2

système octal 8

système hexadécimal 16

Le système décimal est un système de calcul de base 10, c'est-à-dire que les
chiffres ne peuvent prendre que la valeur 0 , 1,2,3,4,5,6,7,8, ou 9

Le système binaire est un système de calcul de base 2, c'est-à-dire que les


chiffres ne peuvent prendre que la valeur 0 ou 1.

Le système octal est un système de calcul de base 8, c'est-à-dire que les


chiffres ne peuvent prendre que la valeur 0 , 1,2,3,4,5,6 ou 7

Le système hexadécimal est un système de calcul de base 16, c'est-à-dire que


les chiffres ne peuvent prendre que la valeur 0 , 1,2,3,4,5,6,7,8,9, A ( 10), B
(11), C(12), D(13), E (14),et F(15)
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

Conversion d’un entier de la base 10 à la base (b). 2

Il s'agit de faire une suite de divisions euclidiennes par b, Jusqu’à


avoir un quotient est égal à zéro.
Le résultat sera la juxtaposition des restes.

X(10)=ana(n-1)a(n-2)….a3a2a1a0 (b)
Conversion d’un entier de la base 10 vers la base 2.

Il s'agit de faire une suite de divisions


euclidiennes par 2. Jusqu’à avoir un
quotient est égal à zéro. Le résultat
sera la juxtaposition des restes.
NB : le reste ( 0 ou 1)

Conversion d’un entier de la base 10 vers la base 8.

Il s'agit de faire une suite de


divisions euclidiennes par 8.
Jusqu’à avoir un quotient est égal
à zéro. Le résultat sera la
juxtaposition des restes.
Nb : le reste( de 0 à 7)
Exp : 125(10) = 175(8)
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

Conversion d’un entier de la base 10 vers la base 16. 3

Il s'agit de faire une suite de divisions euclidiennes par 16. Jusqu’à


avoir un quotient est égal à
zéro. Le résultat sera la
juxtaposition des restes.
Nb : le reste( de 0 à 15)

Exemples :
125(10) = 7D(16) avec (13 = D)
430(10) = 1AE(16) avec ( 14 = E , 10 = A)
335(10) = 14F(16) avec ( 15 = F)
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

Activité 1 : Conversion d’un entier de la base 10 vers la base 2. 4


On se propose de saisir un entier N positif.
On se propose de convertir N ( qui est évidemment un entier de la base 10)
vers la base 2 (le système binaire).

Il s'agit de faire une suite de divisions


euclidiennes par 2. Jusqu’à avoir un
quotient est égal à zéro.
On doit récupérer le reste de la
division euclidienne,

Méthode 1 :
On fait une concaténation de chaque reste obtenu,
exemple Ch="01001"
On cherche l’inverse de cette chaîne invers de ch ="10010", puis on la
convertie en un entier.
Méthode 2 : Tableau
Chaque reste de la division euclidienne, on le met dans une case dans
un tableau T.
T 0 1 0 0 1
indice 0 1 2 3 4
On forme une chaîne du dernier élément jusqu’au premier ( de m-1 à
la case 0 (pas=-1)
Ce qui donne ch ="10010"
Puis on converti ch en entier.

Méthode 1 :
Algorithme de la décomposition modulaire ( programme principal)
Début
Ecrire ( "la conversion de la base 10 à la base 2")
saisie(N)
chconversion2(N)
n_b2formerNB(ch)
Ecrire (N, " dans la base 10 = ",n_b2, "dans la base 2")
Fin
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

TDO Globaux 5
Objet Type
N, n_b2 Entier
ch Chaîne
Les algorithmes des modules Saisie Procédure
Procédure saisie( @ N : entier ) conversion2, Fonction
début formerNB Fonction
Répéter
Ecrire (" donner un entier n positf ")
Lire (n)
Jusqu’à (0<= N )
fin
Fonction conversion2( N :entier ) : chaîne
Début
ch""
Tant que (N div2 ≠0) Faire
r  n mod 2 TDO Locaux
chch+convch(r) Objet Type
N N div2 r Entier
Fin Tant Que ch Chaîne
N N div2
r N mod 2
chch+convch(r)
retourner ch
Fin
Fonction formerNB(ch): entier TDO Locaux
Début Objet Type
inv_ch"" i Entier
Pour i de1à long(ch) faire inv_ch Chaîne
inv_chinv_ch+convch(ch[-i])
fin Pour
retourner valeur( inv_ch)
Fin
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

#Méthode 1 : 6
def saisie():
n=int(input(" donner un entier n positif "))
while ( 0>=n):
n=int(input(" ressaisir n "))
return n
def conversion2(n):
ch=""
while (n //2 !=0):
r= n % 2
ch=ch+str(r)
n=n //2
r=n %2
ch=ch+str(r)
return ch
def formerNB(ch):
#former l'inverse de ch
inv_ch=""
for i in range(1,len(ch)+1):
inv_ch=inv_ch+str(ch[-i])
return int( inv_ch)
#pp
print( "la conversion de la base 10 à la base 2")
n= saisie()
ch=conversion2(n)
print(ch)
n_b2=formerNB(ch)
print(n, " dans la base 10 = ",n_b2, "dans la base 2")
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

Méthode 2 : Tableau 7
Algorithme de la décomposition modulaire (programme principal)
Début
Ecrire ( "la conversion de la base 10 à la base 2")
saisie(N)
m,t=conversion2(n)
n_b2=formerNB(m,t)
Ecrire (N, " dans la base 10 = ",n_b2, "dans la base 2")
Fin
TDO Globaux
TDNtypes
Objet Type
Type
N, n_b2,m Entier
Tab = tableau de 100 entiers
T Tab
Les algorithmes des modules
Saisie Procédure
Procédure saisie( @ N : entier )
conversion2, Fonction
début
formerNB Fonction
Répéter
Ecrire (" donner un entier n positif ")
Lire (n)
Jusqu’à (0<= N )
fin
Procédure conversion2( N :entier ; @T :Tab ; @ m : entier)
Début
m-1
Tant que (N div2 ≠0) Faire
mm+1
t[m]= n mod 2
N N div2
Fin Tant Que
N N div2
T[m] N mod 2
mm+1#taille
Fin
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

Fonction formerNB(m :entier ; T : tab): entier 8


TDO Locaux
Début
Objet Type
ch""
i Entier
Pour i de m-1à 0 ( pas=-1) faire
ch Chaîne
ch ch+convch(T[ i ] )
fin Pour
retourner valeur( ch)
Fin

#Méthode 2 : Tableau
def saisie():
n=int(input(" donner un entier n positif "))
while ( 0>=n):
n=int(input(" ressaisir n "))
return n
def conversion2(n):
t = [0]*100
m=-1
while (n //2 !=0):
m=m+1
t[m]= n % 2
n=n //2
m=m+1
t[m]=n %2
m=m+1
return m,t
def formerNB(m,t):
ch=""
for i in range(m-1,-1,-1):
ch=ch+str(t[i])
return int( ch)

#pp
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

print( "la conversion de la base 10 à la base 2") 9


n= saisie()
m,t=conversion2(n)
n_b2=formerNB(m,t)
print(n, " dans la base 10 = ",n_b2, "dans la base 2")
Activité 2 : Conversion d’un entier de la base 10 vers la base 8.
On se propose de saisir un entier N positif.
On se propose de convertir N ( qui est évidemment un entier de la base 10)
vers la base 8 (le système octal).

Il s'agit de faire une suite de


divisions euclidiennes par 8.
Jusqu’à avoir un quotient est égal
à zéro. Nb : le reste( de 0 à 7)
On doit récupérer le reste de la
division euclidienne
Exp : 125(10) = 175(8)
Méthode 1 :
On fait une concaténation de chaque reste obtenu,
exemple Ch="571"
On cherche l’inverse de cette chaîne invers de ch ="175", puis on la
convertie en un entier.
Méthode 2 : Tableau
Chaque reste de la division euclidienne, on le met dans une case
dans un tableau T.
T 5 7 1
indice 0 1 2
On forme une chaîne du dernier élément jusqu’au premier ( de m-1
à la case 0 (pas=-1)Ce qui donne ch ="175",Puis on converti ch
en entier.
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

def saisie(): 10

n=int(input(" donner un entier n positif "))


while ( 0>=n):
n=int(input(" ressaisir n "))
return n
def conversion8(n):
t = [0]*100
m=-1
while (n //8 !=0):
m=m+1
t[m]= n % 8
n=n //8
m=m+1
t[m]=n %8
m=m+1
return m,t
def formerNB(m,t):
ch=""
for i in range(m-1,-1,-1):
ch=ch+str(t[i])
return int( ch)
#pp
print( "la conversion de la base 10 à la base 8")
n= saisie()
m,t=conversion8(n)
n_b8=formerNB(m,t)
print(n, " dans la base 10 = ",n_b8, "dans la base 8")
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

Activité 3 : Conversion d’un entier de la base 10 vers la base 16. 11

On se propose de saisir un entier N positif.


On se propose de convertir N ( qui est évidemment un entier de la base 10)
vers la base 16 (le système Hexadécimal).

Il s'agit de faire une suite de divisions euclidiennes par 16. Jusqu’à


avoir un quotient est égal à zéro. Nb : le reste( de 0 à 7)
On doit récupérer le reste de la division euclidienne
Exemples :
125(10) = 7D(16) avec (13 = D)
430(10) = 1AE(16) avec ( 14 = E , 10 = A)
335(10) = 14F(16) avec ( 15 = F)

Méthode 1 : exemple 430(10) = 1AE(16) avec ( 14 = E , 10 = A)


On fait une concaténation de chaque reste obtenu, tout en tenant
compte des valeurs suivantes

Ch="EA1" avec ( 14 = E , 10 = A)
On cherche l’inverse de cette chaîne inverse de ch ="1AE"
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

Méthode 2 : Tableau 12

Chaque reste de la division euclidienne, on le met dans une case


dans un tableau T.
T 14 10 1
indice 0 1 2
On forme une chaîne du dernier élément jusqu’au premier ( de m-1
à la case 0 (pas=-1) tout en tenant compte des valeurs suivantes :

Ce qui donne ch ="1AE"


NB : On peut utiliser la structure conditionnelle à choix multiple
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

Méthode 2 : Tableau 13
Algorithme de la décomposition modulaire (programme principal)
Début
Ecrire ( "la conversion de la base 10 à la base 16")
saisie(N)
m,t=conversion16(n)
n_b16=formerNB(m,t)
Ecrire (N, " dans la base 10 = ",n_b16, "dans la base 2")
Fin
TDO Globaux
TDNtypes Objet Type
Type N, n_b2,m Entier
Tab = tableau de 100 entiers T Tab
Saisie Procédure
Les algorithmes des modules
Conversion16 Fonction
Procédure saisie( @ N : entier )
formerNB Fonction
début
Répéter
Ecrire (" donner un entier n positif ")
Lire (n)
Jusqu’à (0<= N )
fin
Procédure conversion16( N :entier ; @T :Tab ; @ m : entier)
Début
m-1
Tant que (N div2 ≠0) Faire
mm+1
t[m]= n mod 2
N N div2
Fin Tant Que
N N div2
T[m] N mod 2
mm+1#taille
Fin
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

14
Fonction formerNB(m :entier ; T : tab): chaîne
TDO Locaux
Début
Objet Type
ch""
i Entier
Pour i de m-1à 0 ( pas=-1) faire
ch Chaîne
Selon T[i]
10 : ch ch+"A"
11 : ch ch+"B"
12 : ch ch+"C"
13 : ch ch+"D"
14 : ch ch+"E"
15 : ch ch+"F"
Sinon
ch ch+convch(T[ i ] )
Fin Selon
fin Pour
retourner ch
Fin
def saisie():
n=int(input(" donner un entier n positif "))
while ( 0>=n):
n=int(input(" ressaisir n "))
return n
def conversion16(n):
t = [0]*100
m=-1
while (n //16 !=0):
m=m+1
t[m]= n % 16
n=n //16
m=m+1
t[m]=n %16
m=m+1
Mme Jihene Chiboub Lycée Carthage Byrsa 4Science

return m,t 15
def formerNB(m,t):
ch=""
for i in range(m-1,-1,-1):
if t[i]==10:
ch=ch+'A'
elif t[i]==11:
ch=ch+'B'
elif t[i]==12:
ch=ch+'C'
elif t[i]==13:
ch=ch+'D'
elif t[i]==14:
ch=ch+'E'
elif t[i]==15:
ch=ch+'F'
else :
ch=ch+str(t[i])
return ch
#pp
print( "la conversion de la base 10 à la base 16")
n= saisie()
m,t=conversion16(n)
n_b16=formerNB(m,t)
print(n, " dans la base 10 = ",n_b16, "dans la base 16")

Vous aimerez peut-être aussi