Répondre à la discussion
Affichage des résultats 1 à 20 sur 20

Complément de 2 (Addition nombre binaire)



  1. #1
    Mazh

    Complément de 2 (Addition nombre binaire)

    Salut à tous,

    j'ai un soucis, je suis incapble d'arriver à la réponse du corrigé quand j'éffectue l'addition des nombres binaire suivant: 56 & -27.

    Notre professeur nous a donc apprit qu'il fallait signé notre nombre binaire pour en savoir son signe (+, -) Donc, je vais effectuer mes démarches avec une bit supplémentaire signé.

    56 = '0 111000'
    -27 = '1 11011'

    Donc, je veux changer le nombre -27 avec le complément de 2 pour que l'on puisse l'addtionner avec 56.

    1 11011 = 0 00100
    0 00100
    + 1
    ---------
    0 00101

    0111000
    + 000101
    ---------
    0111101

    Ineluctablement, la réponse est 0 0011101 ce qui donne bien "29" et j'arrive à 0 111101 ce qui é`gale "64". J'ai tenté aussi de convertir mon 56 en complément de 2, voir si c'était mon problème, aussi tenté de complémenter également ma réponse finale, etc. sans succès apparent à chaque fois, alors je demande un petit coup de pouce pour m'aider à résolver ce petit problème!

    Cordialement, Mazh

    -----


  2. Publicité
  3. #2
    Mazh

    [Résolu]

    J'ai trouvé ce qu'il me manquait comme notion, il fallait seulement égaliser le nombre de bit à celui du plus haut.

    Merci quand même! ^^

  4. #3
    Gérard

    Re : [Résolu]

    Citation Envoyé par Mazh Voir le message
    J'ai trouvé ce qu'il me manquait comme notion, il fallait seulement égaliser le nombre de bit à celui du plus haut.

    Merci quand même! ^^
    Peux-tu préciser ?
    Je me suis posé des questions en lisant ton post et je n'ai pas trouvé la réponse à ta question.
    Maintenant que tu as chatouillé ma curiosité, je voudrais que tu me donnes la solution.
    Merci d'avance.

  5. #4
    Mazh

    Re: Complément de 2 (Addition nombre binaire)

    Je crois que tu vas rire, mais j'allais poster un "edit" parce que ma réponse ne se tient plus debout

    Donc, j'ai cru qu'en égalisant -27 à 56 en binaire soit '0 111000' toujours avec ma bit significative. Que j'aurais pu arrivé à un résultat. Ce fut le cas, mais partiellement!

    Donc, si j'égalise au même nombre de bits, -27 à 56 ça me donne comme suit:

    0 111000 = '56'
    1 011011 = '-27'

    Donc, maintenant, je fais le complément à 2 de -27:

    0 100100
    + 1
    ------------
    0 100101

    Donc, je le convertis et je lui ajoute une bit à la LSB (Least Signifiant Byte).
    ça me donne donc:

    0111000
    + 0100101
    -----------
    1011101

    Mais là! ça donne bien évidement 29! mais mon bit significatif m'indique un résultat négatif! Alors je dois faire le complément!

    Ce qui me donne: 0100010 + 1 bit = 0 100011 ... et là, je suis confondu. Je dois avoir fait une erreur avec mes bits significatifs. Je suis bloqué! :P
    Dernière modification par Mazh ; 23/09/2007 à 21h49.

  6. #5
    HULK28

    Re : Complément de 2 (Addition nombre binaire)

    Salut,

    c'est normal tu fais un calcul sur 7 bits alors que tu dois l'effectuer sur 8 bits.
    C'est le MSB (bit de poids fort) qui représente le signe dans un nombre signé.
    @+
    Tout est bien qui finit.

  7. A voir en vidéo sur Futura
  8. #6
    Mazh

    Re: Complément de 2 (Addition nombre binaire)

    Merci infinement Hulk!

    On m'avait dit que normalement on travaillait sur 8 bits, mais je pensais que l'on pouvait également y travailler sur d'autres bases.

    Donc, je dois constement travailler sur des bases comme 8, 32, 64, 128 etc. si ne ne me trompe?

  9. Publicité
  10. #7
    Jack

    Re : Complément de 2 (Addition nombre binaire)

    ça doit tenir sur 7 bits.

    Tu veux donc faire (+56) + (-27)
    Code:
     27 -> 001 1011
    -27 -> 110 0100+1
         = 110 0101
    +56 -> 011 1000
         = 001 1101 -> +29
    Pas de problème donc

  11. #8
    HULK28

    Re : Complément de 2 (Addition nombre binaire)

    Jack à raison, 8 bits n'est pas nécessaire en effet.
    Tout est bien qui finit.

  12. #9
    Mazh

    Re: Complément de 2 (Addition nombre binaire)

    Hum, je crois avoir compris que si je travaille sur 7 ou 8 bits, je ne dois pas prendre en considération les bits supplémentaire à ma bit de signe n'est-ce pas? Donc, le 1 à la fin, est écarté de la réponse! (Parce que je crois que c'était mon problème jusqu'a présent)!

  13. #10
    HULK28

    Re : Complément de 2 (Addition nombre binaire)

    En fait si tu écris sur 8 bits on voit que le résultat est:

    00111000 -> +56

    00011011 -> +27

    On inverse chaque bit:
    11100100
    On ajoute 1:
    +1
    Soit:
    11100101 -> -27 (puisque le 8e bit est 1)

    Soit
    00111000 (+56)
    +
    11100101 (-27)
    ________
    (1)00011101 -> +29 (chiffre positif puisque 8e bit=0, la retenue est ignorée)

    @+
    Dernière modification par HULK28 ; 23/09/2007 à 23h01.
    Tout est bien qui finit.

  14. #11
    Mazh

    Re: Complément de 2 (Addition nombre binaire)

    okay... J'ai compris, je faisais l'erreur de mettre également mon bit significatif à la 8e bit. Ce qui changeais mes résultats de mes derniers chiffres. Donc maintenant je mets environs tous mes résultats sur 8 bit, et je mets ma bit significatif comme le 9e bit. Je dois le faire parce que le professeur y tient. Même si ce n'est pas vraiment nécessaire.

    Merci à vous tous qui m'avez aidé encore une fois!

  15. #12
    HULK28

    Re : Complément de 2 (Addition nombre binaire)

    Le 8e bit est le bit de signe, le 9e bit est la retenue qui n'est pas prise en compte ici.
    Jack a fait un calcul sur 7 bits puisque le 8e bit vaut 0 dans cet exemple, donc cela sous entend que le resultat est positif et le raisonnement reste juste.
    C'est pour cela qu'avec 8 bits on ne peut avoir que -127/+127, seuls les 7 premiers bits représentent la valeur absolue du nombre.
    Dernière modification par HULK28 ; 24/09/2007 à 00h06.
    Tout est bien qui finit.

  16. Publicité
  17. #13
    Mazh

    Re: Complément de 2 (Addition nombre binaire)

    Bien, maintenant mes calculs arrivent avec exactitue, je mettais directement ma bit 1 (négative) devant le premier nombre, et elle revenait positive lors de la conversion (worng) parce que je pensais que le nombre était négatif au premier moment, j'avais donc mal saisie ce qu'était le complément avec un nombre positif.

    Merci de ton support et ta patience puisque je n'ai pas compris du premier coup!

    Amicalement.

  18. #14
    m'enfin

    Re : Complément de 2 (Addition nombre binaire)

    Salut à tous,
    juste pour préciser quelques points indispensables au bon déroulement du calcul en binaire signé:

    - sur N bits, on code les nombres de -2N-1 à +2N-1-1 (exemple sur 8 bits on code de -128 à +127)
    - à partir de cette contrainte, il faut choisir un format (nombre de bits) compatible avec le codage des nombres et avec le résultat et s'y tenir (par exemple pour calculer -127-2, il faut 9 bits car si -127 et -2 se codent bien sur 8 bits, le résultat doit être codé sur 9 bits minimum.
    - l'éventuelle retenue (dépassement du format choisi) doit être ignorée (par exemple +1-1 se code sur 8 bits 0000 0001 + 1111 1111=1 0000 0000, le 9° bit doit être ignoré pour ne conserver que les 8 bits du format choisi, ici 0000 0000 qui est le résultat).

    Attention, la valeur absolue d'un nombre codé sur N bits n'est pas donnée par les (N-1) bits de droite (exemple sur 8 bits, -1 se code 1111 1111, or si on conserve les 7 bits de droite on a 111 1111 qui valent 127). Pour retrouver la valeur absolue d'un nombre négatif, il faut faire à nouveau les opérations: complément à 1 + 1 (-1=1111 1111 -> 0000 0000 + 1->0000 0001)
    A+

  19. #15
    le fatumbi

    Re : Re: Complément de 2 (Addition nombre binaire)

    Citation Envoyé par Mazh Voir le message
    ...je mettais directement ma bit 1 (négative) devant le premier nombre, et elle ...
    au passage, un bit est masculin

  20. #16
    Jack

    Re : Complément de 2 (Addition nombre binaire)

    Voilà !

    J'ajouterais que le format des nombres est une contrainte naturelle puisque le nombre de bits des données du circuit électronique qui va réaliser l'opération est physiquement limité: 8 bits pour des petits microprocesseurs par exemple, 4 bits pour des additionneurs câblés comme un 7483, etc.

    A+

  21. #17
    HULK28

    Re : Complément de 2 (Addition nombre binaire)

    Merci à m'enfin pour ces nécessaires et détaillées précisions.
    Tout est bien qui finit.

  22. #18
    jokkere

    Re : Complément de 2 (Addition nombre binaire)

    56(10)=111000 et -27=100101 car 27=011011 donc le complement a1 de 27. C1(27)=100100 alors le complement a 2 de 27. C2(27)=C1(27)+1=100101 alors .
    S=56-27=56+(-27)
    111000
    + 100101
    --------------
    1 011101
    Le resultat est: 011101=29(10) car lebit du poid le plus fort
    MSB=1 c'est un bit de depassement!!

  23. Publicité
  24. #19
    DAUDET78

    Re : Complément de 2 (Addition nombre binaire)

    Encore un déterrage .......
    Merci jokkere, mais notre ami Mazh n'est plus venu sur le forum depuis le 16/02/2009 19h38 et sa question date de 2007
    L'age n'est pas un handicap .... Encore faut-il arriver jusque là pour le constater !

  25. #20
    Jack

    Re : Complément de 2 (Addition nombre binaire)

    Pourquoi déterrer cette discussion? Quoi de neuf par rapport au message # de HULK28?

    A+

Sur le même thème :

Discussions similaires

  1. addition binaire
    Par gagliardibruno dans le forum Électronique
    Réponses: 5
    Dernier message: 15/12/2007, 23h14
  2. [Immunologie] le complément immunologie
    Par franc15 dans le forum Biologie
    Réponses: 4
    Dernier message: 19/10/2007, 00h25
  3. complement a 2
    Par rafamu dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 13/10/2007, 10h42
  4. addition syn addition anti
    Par Chokaolic dans le forum Chimie
    Réponses: 1
    Dernier message: 04/03/2006, 00h01
  5. Complement d'information sur le binaire
    Par Elrond Eylas dans le forum Électronique
    Réponses: 7
    Dernier message: 18/06/2005, 12h24