Télécharger l'article
Télécharger l'article
Les problèmes de division de nombres binaires peuvent être résolus à l'aide de la méthode de la division longue, une méthode utile pour apprendre ce processus ou créer un programme simple sur ordinateur. Autrement, la méthode complémentaire des soustractions successives fournit une approche avec laquelle vous n'êtes peut-être pas familiarisé(e), bien qu'elle soit communément utilisée en programmation [1] X Source de recherche . Le langage machine utilise généralement un algorithme d'estimation pour une plus grande efficacité, mais nous ne décrirons pas ces derniers ici [2] X Source de recherche .
Étapes
-
Révisez la méthode de la division longue avec des nombres décimaux . Si vous n'avez pas utilisé depuis longtemps la méthode de la division longue avec des nombres décimaux ordinaires (en base 10), alors révisez vos bases en utilisant l'exemple suivant : 172 ÷ 4. Autrement, sautez cette étape et passez à la suivante pour apprendre le même processus appliqué aux nombres binaires.
- Le dividende est divisé par le diviseur et le résultat de cette opération est le quotient .
- Comparez le diviseur au premier chiffre du dividende. Si le diviseur est supérieur à ce dernier, continuez à ajouter des dizaines au dividende jusqu'à ce que le diviseur devienne inférieur. Par exemple, dans le cadre de la division suivante : 172 ÷ 4, il faudrait comparer 4 et 1, remarquer que 4 > 1 et alors comparer 4 à 17 à la place.
- Écrivez le premier chiffre du quotient au-dessus du dernier chiffre du dividende que vous avez utilisé lors de la comparaison. En comparant 4 et 17, nous remarquons que le chiffre 4 multiplié par 4 donne un résultat inférieur à 17. Nous écrivons donc 4 comme premier chiffre de notre quotient, au-dessus du 7.
- Effectuez une multiplication et une soustraction pour trouver le reste. Multipliez le chiffre du quotient par le diviseur, soit dans notre cas 4 x 4 = 16. Écrivez le 16 sous le 17, puis soustrayez 16 - 17 pour trouver le reste, soit 1.
- Répétez l'opération. Une fois de plus, nous devons comparer le diviseur (4) avec le chiffre suivant (1), remarquer que 4 > 1, et « ramenez » le prochain chiffre du dividende pour comparer 4 avec 12 cette fois-ci. 4 est multiplié par 3 pour donner 12 et il ne reste rien. Le prochain chiffre à écrire pour le quotient est donc 3. La réponse est 43.
-
Écrivez votre problème sous forme d'une longue division. Utilisons l'exemple suivant : 10 101 ÷ 11. Écrivez cela sous forme d'une longue division, avec 10 101 à la place du dividende et 11 à celle du diviseur. Laissez un espace pour écrire le quotient et écrivez vos calculs en dessous.
-
Comparez le diviseur au premier chiffre du dividende. Cela fonctionne comme pour une division longue avec des nombres décimaux, mais c'est en fait un peu plus facile. Soit vous ne pouvez pas diviser le chiffre par le diviseur (0), soit vous pouvez le diviser une fois par le diviseur (1) :
- 11 > 1, donc vous ne pouvez pas diviser 1 par 11. Écrivez 0 comme premier chiffre du quotient (au-dessus du premier chiffre du dividende)
-
Passez au chiffre suivant et répétez l'opération jusqu'à ce que vous obteniez un 1. Voici quelques étapes de notre exemple :
- ramenez le prochain chiffre du dividende. 11 > 10. Écrivez 0 dans le quotient
- ramenez le chiffre suivant. 11 < 101. Écrivez 1 dans le quotient
-
Trouvez le reste. Comme pour les divisions longues de nombres décimaux, il faut multiplier le chiffre que nous venons de trouver (soit 1) par le diviseur (soit 11) et écrire le résultat sous le dividende, aligné avec le chiffre avec lequel nous venons de faire notre calcul. Avec les nombres binaires, nous pouvons sauter cette étape, car 1 multiplié par le diviseur donne le diviseur.
- Écrivez le diviseur sous le dividende. Dans notre cas, nous alignons 11 sous les trois premiers chiffres (soit 101) du dividende.
- Calculez 101 - 11 pour obtenir le reste, soit 10.
-
Répétez l'opération jusqu'à avoir terminé la division. Ramenez le prochain chiffre du diviseur avec le reste pour obtenir 100. Puisque 11 < 100, écrivez 1 comme prochain chiffre du quotient. Continuez la division comme précédemment.
- Écrivez 11 sous le nombre 100 et faites une soustraction pour obtenir 1.
- Ramenez le dernier chiffre du dividende pour obtenir 11.
- 11 = 11, alors écrivez 1 comme chiffre final du quotient (le résultat).
- Il n'y a pas de reste, la division est donc complète. La réponse est 00111 ou simplement 111.
-
Ajoutez une virgule si nécessaire. Parfois, le résultat n'est pas un nombre intégral. Si vous avez toujours un reste après avoir ajouté le dernier chiffre, ajoutez une virgule suivie d'un zéro (« , 0 ») au dividende et une virgule (« , ») à votre quotient, afin de pouvoir ramener un autre chiffre et continuer. Répétez l'opération jusqu'à ce que vous ayez atteint le degré de précision désiré, puis arrondissez votre résultat. Sur le papier, vous pouvez arrondir le résultat en enlevant le dernier 0 ou, si le dernier chiffre est un 1, le laisser tomber et ajouter 1 au nouveau dernier chiffre. En programmation, suivez l'un des algorithmes standards pour effectuer un arrondi afin d'éviter d'effectuer des erreurs lorsque vous effectuerez des conversions entre nombres binaires et nombres décimaux [3] X Source de recherche .
- Les divisions de nombres binaires se terminent souvent par une série de répétitions de fractions, plus souvent que pour les écritures décimales [4] X Source de recherche .
- Cela renvoie à l'utilisation du terme « virgule binaire », équivalent de la virgule classique utilisée dans le système décimal [5] X Source de recherche .
Publicité
-
Comprenez le concept de base. Une façon de résoudre les divisions (quelle que soit la base considérée) consiste à continuer à soustraire le diviseur du dividende, puis le reste, tout en comptant le nombre de fois que vous pouvez le faire avant d'obtenir un nombre négatif. Voici un exemple en base 10, pour résoudre la division 26 ÷ 7 :
- 26 - 7 = 19 (soustrait 1 fois),
- 19 - 7 = 12 ( 2 ),
- 12 - 7 = 5 ( 3 ),
- 5 - 7 = -2. Vous obtenez un nombre négatif, c'est pourquoi vous devez revenir sur vos pas. La réponse est de 3 et le reste vaut 5. Notez que cette méthode ne calcule pas les parties non entières du résultat.
-
2Apprenez à soustraire par compléments à deux. Si vous pouvez facilement employer la méthode ci-dessus avec des nombres binaires, vous pouvez soustraire à l'aide d'une méthode plus efficace qui vous fera gagner du temps au moment de programmer des ordinateurs pour diviser des nombres binaires. Il s'agit de la méthode de soustraction par compléments à deux. Voici les principes de base, pour calculer 111 - 011 (assurez-vous que les deux nombres soient de la même longueur).
- Trouvez le complément du second terme, en soustrayant chaque chiffre à partir de 1. C'est facile à faire avec des nombres binaires. Il suffit en effet de remplacer les 1 par des 0 et les 0 par des 1 [6] X Source de recherche [7] X Source de recherche . Dans notre exemple, 011 devient 100.
- Ajoutez 1 au résultat : 100 + 1 = 101. C'est ce que l'on appelle la méthode des compléments à deux et celle-ci peut être employée pour réaliser des soustractions comme des additions [8] X Source de recherche . Après tout, c'est essentiellement comme si nous avions additionné un nombre négatif au lieu de soustraire un nombre positif.
- Additionnez le résultat avec le premier nombre. Écrivez et résolvez l'addition : 111 + 101 = 1 100.
- Enlevez la retenue. Écartez le premier chiffre de votre réponse pour obtenir le résultat final. 1 100 → 100 .
-
3Combinez les deux concepts précédents. À présent que vous connaissez la méthode de soustraction pour résoudre les divisions longues ainsi que la méthode des compléments à deux pour résoudre des soustractions, vous pouvez combiner ces deux méthodes pour résoudre les problèmes de division en suivant les étapes ci-dessous [9] X Source de recherche . Si vous le voulez, vous pouvez essayer de trouver par vous-même avant de continuer.
-
Soustrayez le diviseur du dividende, en additionnant deux compléments. Prenons par exemple la division 100 011 ÷ 000 101. La première étape consiste à résoudre l'opération 100 011 - 000 101, que nous transformerons en addition grâce à la méthode des deux compléments :
- deux compléments de 000 101 = 111 010 + 1 = 111 011
- 100 011 + 111 011 = 1 011 110
- enlevez la retenue → 011 110
-
Ajoutez 1 au quotient. Au moment d'écrire un programme, c'est là que vous commencerez à incrémenter le quotient de 1 en 1. Notez-le quelque part dans le coin d'une feuille de papier afin de ne pas le mélanger avec un autre travail. Nous avons réussi à faire une première soustraction, donc le quotient est de 1 .
-
Répétez l'opération en soustrayant le diviseur du reste. Le résultat de notre dernier calcul est le reste après que le diviseur ait été « placé » une fois. Continuez à additionner les deux compléments du diviseur chaque fois et à enlever la retenue. Ajoutez 1 au quotient chaque fois et répétez jusqu'à obtenir un reste qui soit égal ou inférieur à votre diviseur [10] X Source de recherche :
- 011 110 + 111 011 = 1 011 001 → 011 001 (quotient 1+1=10 )
- 011 001 + 111 011 = 1 010 100 → 010 100 (quotient 10+1=11 )
- 010 100 + 111 011 = 1 001 111 → 001 111 ( 11+1=100 )
- 001 111 + 111 011 = 1 001 010 → 001 010 ( 100+1=101 )
- 001 010 + 111 011 = 10 000 101 → 0 000 101 ( 101+1=110 )
- 0 000 101 + 111 011 = 1 000 000 → 000 000 ( 110+1=111 )
- 0 est plus petit que 101, nous nous arrêtons donc là. Le quotient 111 est le résultat de la division. Le reste est le résultat final de notre soustraction et est donc égal à 0 (donc il ne reste rien).
Publicité
Conseils
- Vous devez consulter les instructions pour incrémenter, décrémenter ou désempiler des données avant d'appliquer des opérations mathématiques binaires au jeu d'instruction d'une machine.
- Ne prenez pas en compte le chiffre signé dans les nombres binaires signés avant de faire votre calcul, sauf au moment de déterminer si le résultat est positif ou négatif.
- La méthode de soustraction par compléments à deux ne fonctionnera pas si vos nombres ne possèdent pas le même nombre de chiffres. Ajoutez des zéros au début du nombre le plus court pour remédier à cela.
Publicité
Références
- ↑ http://www.eetimes.com/author.asp?section_id=14&doc_id=1282912
- ↑ http://electronics.stackexchange.com/questions/22410/how-does-division-occur-in-our-computers
- ↑ http://www.cs.rit.edu/~mtf/student-resources/20131_tilleti_mscourse.pdf
- ↑ http://www.exploringbinary.com/binary-division/
- ↑ http://mathforum.org/library/drmath/view/56091.html
- ↑ http://academic.evergreen.edu/projects/biophysics/technotes/program/2s_comp.htm
- ↑ http://courses.cs.vt.edu/~csonline/NumberSystems/Lessons/OnesComplement/index.html
- ↑ http://www.cs.cornell.edu/~tomf/notes/cps104/twoscomp.html
- ↑ http://academic.evergreen.edu/projects/biophysics/technotes/program/2s_comp.htm
Publicité