Les mystères des nombres en complément à deux révélés
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Les mystères des nombres en complément à deux révélés

le

  • 3,260 vues

Une manière pédagogique de comprendre la représentation des nombres négatifs en complément à deux. Si vous ajoutez 800 à votre compte en banque, tout se passe sur les trois chiffres à droite ...

Une manière pédagogique de comprendre la représentation des nombres négatifs en complément à deux. Si vous ajoutez 800 à votre compte en banque, tout se passe sur les trois chiffres à droite comme si vous retranchiez 200!

Statistiques

Vues

Total des vues
3,260
Vues sur SlideShare
3,260
Vues externes
0

Actions

J'aime
0
Téléchargements
5
Commentaires
0

0 Ajouts 0

No embeds

Accessibilité

Catégories

Détails de l'import

Uploaded via as Microsoft Word

Droits d'utilisation

© Tous droits réservés

Report content

Signalé comme inapproprié Signaler comme inapproprié
Signaler comme inapproprié

Indiquez la raison pour laquelle vous avez signalé cette présentation comme n'étant pas appropriée.

Annuler
  • Full Name Full Name Comment goes here.
    Êtes-vous sûr de vouloir
    Votre message apparaîtra ici
    Processing...
Poster un commentaire
Modifier votre commentaire

Les mystères des nombres en complément à deux révélés Document Transcript

  • 1. Pour se soustraire à la soustraction Les mystères de la représentation des nombres négatifs expliqués ! Jeudi 23 septembre 2010 Blog « Plexus Logos Calx » de Jean RohmerDans les ordinateurs, il y a des circuits qui servent additionner deux nombres, mais il ny en a pas quiservent à les soustraire. Pourquoi ? Parce que lon a trouvé un moyen de faire des soustractions avecdes additions!. Lavantage est que cela diminue la complexité de la machine, donc sa taille, donc soncoût.Techniquement le tour de passe-passe sappelle "la représentation en complément à deux".Mais ça nest pas très facile à comprendre. Nous allons voir plus loin comment découvrir etcomprendre la chose.Faisons dabord quelques rappels de représentation binaire des nombres.Considérons une machine avec des mots de 4 bits.On peut utiliser ces 4 bits pour représenter les entiers naturels de 0 à 15:0000 = 0 0001 = 1 0010 = 2 0011 = 30100 = 4 0101 = 5 0110 = 6 0111 = 71000 = 8 1001 = 9 1010 = 10 1011 = 111100 = 12 1101 = 13 1110 = 14 1111 = 15Maintenant, si lon veut représenter des nombres positifs ou nuls et des nombres négatifs sur ces 4bits, on vous dira que ça donne ça:0000 = 0 0001 = 1 0010 = 2 0011 = 30100 = 4 0101 = 5 0110 = 6 0111 = 71000 = -8 1001 = -7 1010 = -6 1011 = -51100 = -4 1101 = -3 1110 = -2 1111 = -1Ce qui est magique, cest que pour faire 7 – 5, on ne va pas faire de soustraction mais additionner lenombre 7 et le nombre -5:
  • 2. 0111 (7) +1011 (-5)Et pour ça on fait comme laddition que lon apprend à lécole primaire en décimal, avec une retenue,et comme table daddition0+0=00+1=11+0=11 + 1 = 0 avec une retenue de 1 1110 <----- retenue 0111 +1011---------------------- 10010Dans ce calcul, le résultat tient sur 5 bits, mais dans les mots de la machine il ny en a que 4, donc lerésultat est 0010, soit 2 en décimal, ce qui est très satisfaisant!La question est donc de savoir comment, quand on veut soustraire 5 (0101) on passe à -5 (1011).Pour y répondre, pensez à votre compte en banque.Si vous nêtes pas très riche, vous avez pris lhabitude de ne regarder que les 4 derniers chiffres :-)Si votre compte est à 3527 euros, et que vous retirez 2000 euros, il vous reste 1527 eurosMais si par miracle -ou par erreur- vous recevez un virement de 8000 euros, si vous continuez àregarder les 4 derniers chiffres, vous trouvez aussi 1527 euros!Si votre compte est à 3527 euros, et que vous retirez 2215 euros, il vous reste 1312 eurosMais si par miracle -ou par erreur- vous recevez un virement de 7785 euros, si vous continuez àregarder les 4 derniers chiffres, vous trouvez aussi 1312 euros!Autrement dit, à vos yeux pessimistes:-- ajouter 8000 euros, cest la même chose quen soustraire 2000
  • 3. -- ajouter 7785 euros, cest la même chose quen soustraire 2215Pour économiser la soustraction -il ny a pas de petites économies-, il suffit donc de savoir passer de:-2000 à + 8000-2215 à + 7785Comment ça se passe ?Ne répondez pas "il suffit de retrancher le nombre de départ à 10000", puisque justement lonsinterdit la soustraction!Il faut trouver un moyen qui ne fait pas intervenir la soustraction.Prenez dautres exemples de couples comme 2215 et 7785 et vous allez vite vous apercevoir que:Le second nombre se déduit du premier en remplaçant chaque chiffre par son complément à 9, saufpour le premier, où on prend son complément à 10:2 --> 71 --> 85 --> 5Ce qui est équivalent à dire:-- on remplace chaque chiffre par son complément à 9-- on ajoute 1 au résultatFinalement, on sest bien débarrassé de la soustraction en la remplaçant par un complément à 9 dechaque chiffre et une addition de 1. Cest gagné!En décimal, le 9 est le plus grand des chiffres de 0 à 9En binaire, le rôle du 9 est remplacé par le plus grand chiffre de 0 à 1, soit 1.Il faut donc prendre le complément à 1 de chaque bit, ce qui revient à linverser:0 --> 11 --> 0Et comme•linversion dun bit est la plus simple des opérations réalisables avec des portes logiques•ajouter 1 à un nombre est "gratuit" car tout additionneur comporte une entrée "retenue", quilsuffit de mettre à 1 pour ajouter 1On est très content: faire une soustraction avec un additionneur ne va pas nous coûter bien cher.