Partage
  • Partager sur Facebook
  • Partager sur Twitter

Soustraction Binaire

Sujet résolu
    12 novembre 2014 à 18:38:38

    Bonjour :)

    Je ne sais pas si je suis dans le bon forum, mais après tout le binaire se retrouve partout n'est ce pas?

    Suite à ce tutoriel, je me suis posé une question à propos de l'exemple qu'il propose.

    En effet, il pose 1010-101 c'est-à-dire 10-5, et comme il l'explique 0-1 = 1 avec une retenue de 1 sur la colonne de gauche.

    et il arrive à:

    Cependant dans mon cours, on fait 1010-11 ce qui est (10-3)10 et je me demande comment on fait pour:

    1010

    -   11

    -------

      ??1

    et la pour faire 0-1, on l'emprunte le 1 dans la colonne de gauche?:o

    Merci d'avance 

    • Partager sur Facebook
    • Partager sur Twitter
    May the Force be with you
      12 novembre 2014 à 19:07:43

      Pour poser une soustraction, il te faut reprendre tes tout premier cours (primaire) et appliquer la même chose en base 2.

      Pour traiter ceci :

          1010
      -   0011

       Histoire de faire apparaitre les retenues, je vais ajouter des espaces ;)

          1   0   1   0
      -   0   0   1   1
      =

      Il est impossible de faire faire 0-1 donc on ajoute une retenue :

          1   0   1  10
      -   0   0   1   1
      =

      Bien évidement, si j'ajoute une retenue en haut, je dois aussi ajouter +1 en bas donc le 1 devient 2 soit 10 en binaire

          1   0   1  10
      -   0   0  10   1
      =

       A partir de là, on peut faire le premier chiffre : 10 - 1 = 1 (car en décimal, cela donne 2 - 1 = 1)

          1   0   1  10
      -   0   0  10   1
      =               1

       Passons maintenant au deuxième que l'on ne peut pas faire non plus, il faut donc une retenue :

          1   0  11  10
      -   0   1  10   1
      =               1

       Et le résultat qui va avec : 11 - 10 = 1 (car en décimal, cela donne 3 - 2 = 1)

          1   0  11  10
      -   0   1  10   1
      =           1   1

       Troisième chiffre, encore une retenue :

          1  10  11  10
      -   1   1  10   1
      =           1   1

       Troisième résultat :

          1  10  11  10
      -   1   1  10   1
      =       1   1   1

       Quatrième résultat :

          1  10  11  10
      -   1   1  10   1
      =   0   1   1   1

       Et donc au final : 1010 (10) - 0011 (3) = 0111 (7)

      On retombe bien sur nos pattes :)


      Sinon, plus simple, tu peux transformer les soustractions en addition à complément à 2.

      Pour cela, il te faut inverser les 0/1 puis ajouter 1 puis faire une addition.

      Voici ce que cela donne :

      Inversion de 0011 (3) => 1100

      Ajout de 1 à 1100 => 1101

      Addition de 1010 (10) et 1101

          1010
      +   1101
      =  10111

      Comme on est que sur 4 bits, tu oublies le chiffre le plus à gauche et il ne reste alors que 0111 (7)

      Voila comment transformer une soustraction en addition ;)

      C'est d'ailleurs ce principe qui est utilisé dans les PC : ils n'ont pas de soustracteurs mais uniquement des additionneurs et inverseurs

      -
      Edité par lorrio 12 novembre 2014 à 19:12:14

      • Partager sur Facebook
      • Partager sur Twitter
        12 novembre 2014 à 19:13:39

        Merci beaucoup, exemple parfait! :magicien:

        Avec la fatigue j'avais oublié mes cours de primaires... ;)

        • Partager sur Facebook
        • Partager sur Twitter
        May the Force be with you
          12 novembre 2014 à 19:15:58

          C'est quand même plus simple de faire une addition en complément à deux ; tu devrais oublier les soustractions ;)

          En tout cas, si ton problème est résolu, n'oublie pas d'appuyer sur le lien "sujet résolu" en haut à droite de ton premier post.

          EDIT: autant pour moi, tu l'as déjà fais.

          -
          Edité par lorrio 12 novembre 2014 à 19:16:43

          • Partager sur Facebook
          • Partager sur Twitter

          Soustraction Binaire

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown