MINI PROJET 3

publicité
MINI PROJET 3
Problématique : Comment créer un algorithme qui additionne
deux nombres binaires et qui calcul le complément à deux du nombre
binaire préalablement rentré par l’utilisateur.
Dans les deux algorithmes nous nous sommes inspirés de la méthode
manuelle :
L'addition en binaire se fait avec les mêmes règles qu'en décimale :
On commence à additionner les bits de poids faible (les bits de
droite) puis on a des retenues lorsque la somme de deux bits de
même poids dépasse la valeur de l'unité la plus grande (dans le cas du
binaire : 1), cette retenue est reportée sur le bit (de poids plus fort)
suivant.
Exemples : 0001 0011 + 0000 0010
Pour additionner des nombres binaires qui sont signés, il faut
déterminer d’abord le complément à deux du nombre décimal négatif.
Il existe deux méthodes pour obtenir le complément à deux :
- Le complément à deux d'un nombre correspond au complément à 1
du nombre à qui on a ajouté la valeur "1". Pour calculer le complément
à 1 on inverse chaque bit, ce qui revient à transformer les "0" en "1"
et les "1" en "0".
Exemples :
+4 décimal 0000 0100 en binaire
/4 décimal 1111 1011 en complément à un
Exemple 2 :
+100 décimal 0110 0100 en binaire
/100 décimal 1001 1011 en complément à un
Exemple de calcul pour déterminer le complément à deux de 0001
0101, Complément à 1 = 1110 1010 DONC Complément à 2 = 1110 1010
+ 0000 0001 = 1110 1011
On peut également déterminer le complément à deux d'un nombre
directement : On conserve tous les bits à partir de la droite jusqu'au
premier "1" inclus et ensuite il suffit d’inverser tous les bits suivants.
Exemple : le complément à deux de 1011 0100 vaut : Complément à 2 =
0100 1100 (les 3 bits de poids faibles sont inchangés).
Exemple : (-4) + 6
Dans notre programme Python du complément à 2 nous avons choisi
d’utiliser la première méthode, qui est plus facile d’un point de vue
algorithmique : En effet il suffit d’inverser tous les bits su nombres
binaires puis de rajouter 1 pour obtenir le complément à 2.
Test 1 : La fonction add2 (Additionner deux nombres binaires)
Test 2 : La fonction neg2 (Calcul du complément à 2)
Conclusion :
Ce TP nous à demander beaucoup de réflexion mais il nous à permis
d’approfondir nos bases sur python qui pourrait nous être utile pour
le TPE final. Nous avons essuyé de nombreux échecs avant de
parvenir à un résultat optimisé au maximum de nos capacités.
Nous avons rencontré plus de difficulté dans l’algorithme dans lequel
on a additionné deux nombres binaires entre eux tandis que celui
permettant de calcul le complément était plus facile un fois que nous
avons fait le premier : En effet nous nous servis de la fonction add2
dans le deuxième.
Téléchargement