Dhifallah Fethi Admin
Messages : 74 Date d'inscription : 02/03/2011
| Sujet: Conversion d’un nombre décimale en binaire Dim 6 Mar - 1:06 | |
| Conversion d’un nombre décimale en binaireDéfinition :(38)10 = (100110)2 C'est-à-dire que 38 dans la base 10 est égal à 100110 dans la base 2. Pour convertir 38 de la base 10 en son équivalent de la base 2, on a effectué des divisions successives par 2 et on écrit les restes de la division en ordre inverse de leur apparition ; on a obtenu 100110. Quotient | 38 | 19 | 9 | 4 | 2 | 1 | 0 | Reste | 0 | 1 | 1 | 0 | 0 | 1 | Arrêt | <------------------------------------------------------- 100110 Animation:[Vous devez être inscrit et connecté pour voir ce lien] Analyse du programme principal : - Code:
-
Résultat = Proc affiche (t,j) Proc Reste (n, t, j) Proc saisir (n) Analyse de la procédure Reste : - Code:
-
Def Proc Reste (n : entier ; var t : tab ; var j : entier) Résultat = t t=[ j ← 0 ] Répéter j ← j + 1 t[ j ] ← n mod 2 n ← n div 2 jusqu’à (n=0)
Code en Pascal : - Code:
-
Program conversion_10_2; Uses wincrt ; Type Tab=array[1..100] of 0..1 ;
Var T : tab ; j, n : integer ;
procedure saisir (var n: integer); begin repeat writeln(‘Saisir un entier positif’); readln(n) ; until (n > 0) ; end ;
procedure Reste ( n:integer; var t:tab; var j:integer) ; begin j:=0; Repeat j:=j + 1; t[ j ]:= n mod 2; n := n div 2; until n =0; end;
Procedure afficher(t:tab; j:integer); Var i : integer; begin For i := j downto 1 do Write (t[ i ] : 3); End;
Begin Saisir (n); Reste (n, t, j); Afficher (t, j); End.
| |
|