IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Signe et valeurs absolues, complément à 1 et à 2 [Débutant(e)]


Sujet :

Assembleur

  1. #1
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut Signe et valeurs absolues, complément à 1 et à 2
    Bonjour tout le monde,

    Pourriez-vous me dire si les calculs ci-dessous sont corrects ?

    C'est des calculs sur les signes et valeurs absolus, ainsi que le complément à 1 et à 2:

    Complément à 1 : je change les 0 en 1 et les 1 en 0 par rapport au signe et valeur absolue.

    Complément à deux, j'ajoute 1.

    -2: 1010 Signe et valeur absolue
    -2: 1101 complément à 1
    -2: 1110 complément à 2

    +3: 0011 Signe et valeur absolue
    +3: 0100 complément à 1
    +3: 0101 complément à 2

    +7 0111 Signe et valeur absolue
    +7: 0000 complément à 1 je doute ici, est-ce correct ?
    +7: 0001 complément à 2

    Pourriez-vous me dire si la méthode que j'utilise est correcte ? C'est très important car j'ai un examen samedi et j'ai des doutes sur ces calculs.

    Merci d'avance.

    beegees

  2. #2
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    Je ne vois pas pourquoi tu persistes à garder le premier bit à 0 ou 1 (suivant les cas) : quand tu fais le complément à 1 ou 2, le bit de signe est nécessairement changé (le complément à 2 est l'opération qui permet de changer le signe d'un nombre...)
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  3. #3
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Bonjour,

    Je suis d'accord avec ce qu'à dit ALT.

    Par ailleurs :
    Citation Envoyé par beegees
    +7 0111 Signe et valeur absolu
    +7: 0000 complément à 1 je doute ici, est-ce correcte ?
    +7: 0001 complément à 2
    +7 codé en complément à 2 = +7 en binaire "naturel".

    Ainsi sur 4 bits, +7 s'écrit 0111 en complément à 2 (ta méthode n'est valable que pour coder les nombres négatifs)
    Avant de poster, merci de consulter les règles du forum

  4. #4
    Candidat au Club
    Inscrit en
    Janvier 2004
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1
    Points : 4
    Points
    4
    Par défaut salut
    tout juste pour te dire le complement à 1 puis à 2 s'applique seulement aux nombre negatifs et non au nombres positfs. Ainsi pour représenter (-2) en binaire et sur 3 bits par exple on l'effectue de la facon suivante:
    ecrire d'abord 2 en binaire: 010
    complement à 1 101
    complément à 2 110
    Alors (-2) sur trois bits est 110. tu remarques le 1 de devant représente le signe

    Sur 4 bits on aura alors alors:
    2 en binaire : 0010
    complément à 1 : 1101
    complement à 2 : 1110
    -2 sur 4 bits es 1110

  5. #5
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    Citation Envoyé par Juju_41
    Bonjour,

    Je suis d'accord avec ce qu'à dit ALT.

    Par ailleurs :

    +7 codé en complément à 2 = +7 en binaire "naturel".

    Ainsi sur 4 bits, +7 s'écrit 0111 en complément à 2 (ta méthode n'est valable que pour coder les nombres négatifs)
    Aïe !

    0111 donne (complément à un) 1000, & en complément à deux : 1001. Non ?

    Pour le début de ton message, je suis d'accord avec toi.
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  6. #6
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Citation Envoyé par ALT
    Aïe !

    0111 donne (complément à un) 1000, & en complément à deux : 1001. Non ?

    Pour le début de ton message, je suis d'accord avec toi.
    Je pense voir ce que tu veux dire, mais pour moi :
    +7 codé en complément à 2 sur 4 bits : 0111
    -7 codé en complément à 2 sur 4 bits : 1001

    Avant de poster, merci de consulter les règles du forum

  7. #7
    Membre éprouvé
    Avatar de beegees
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2004
    Messages
    3 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2004
    Messages : 3 610
    Points : 1 277
    Points
    1 277
    Par défaut
    Bonsoir tout le monde,

    J'aimerais sincèrement vous remercier toutes et tous pour vos nombreuses réponses qui m'ont beaucoup aidé.

    Une très bonne soirée à tout le monde.

    beegees

  8. #8
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    Citation Envoyé par Juju_41
    Je pense voir ce que tu veux dire, mais pour moi :
    +7 codé en complément à 2 sur 4 bits : 0111
    -7 codé en complément à 2 sur 4 bits : 1001

    C'est bien ce que j'ai écrit.

    Il m'avait semblé, en revanche, que tu avais écrit quelque chose du genre : +7=-7 (en binaire).
    Mais j'ai peut-être mal saisi le sens de ta phrase.
    Auquel cas je te présente mes excuses les plus plates.
    Sinon, j'aimerais quelques éclaircissements.
    Voilà.
    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  9. #9
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Citation Envoyé par ALT
    Il m'avait semblé, en revanche, que tu avais écrit quelque chose du genre : +7=-7 (en binaire).
    En fait, je voulais mettre l'accent sur le fait que "représenter un nombre en code complément à 2" et "faire le complément à 2 d'un nombre" sont deux choses différentes.

    Citation Envoyé par ALT
    Auquel cas je te présente mes excuses les plus plates.
    Tu n'as pas à t'excuser, c'est tout à fait normal de me reprendre quand je suis pas clair dans mes explications
    Avant de poster, merci de consulter les règles du forum

  10. #10
    ALT
    ALT est déconnecté
    Membre émérite
    Avatar de ALT
    Homme Profil pro
    Retraité
    Inscrit en
    Octobre 2002
    Messages
    1 234
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 234
    Points : 2 338
    Points
    2 338
    Par défaut
    Merci, Maître


    « Un peuple qui est prêt à sacrifier un peu de liberté contre un peu de sécurité, ne mérite ni l'une, ni l'autre, et finira par perdre les deux. »
    Attribué indistinctement à :
    Thomas Jefferson
    Benjamin Franklin
    Albert Einstein !

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2008
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour, excusez-moi de remonter un sujet si vieux, mais j'aurais aimé des précisions à propos des histoires de compléments à 1 à 2.
    Etant donné que j'ai devoir bientôt, autant m'y prendre un peu à l'avance ^^

    Dans le sens inverse, pour retrouver de quel nombre il s'agissait, comment dire si 11111111 est -1 ou 255 ??

    Et que signifie excédent à ... ?

    Merci de votre aide ^^ Je débute à l'iut d'info ^^" Seuls les maths pures sont très clairs dans ma tête oO

  12. #12
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Citation Envoyé par Evhell Voir le message
    Dans le sens inverse, pour retrouver de quel nombre il s'agissait, comment dire si 11111111 est -1 ou 255 ??
    Tu ne peux pas. C'est bien pour cela que l'on définit des types signés et non-signés (évidemment, il me semble que ça n'existe plus en Java, pour les types natifs). C'est à toi d'indiquer comment - toi - tu interprètes ces chiffres. Sur les microprocesseurs, les instructions de comparaison sont doublées pour prendre en compte ce cas de figure.

    Puisqu'il s'agit de compteurs, le plus simple est de se représenter le bon vieux compteur kilométrique d'une voiture automobile : s'il affiche "999999", tu ne peux pas savoir a priori si le véhicule a roulé presque un million de kilomètres ou s'il a fait un kilomètre en marche arrière ...

  13. #13
    Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 33
    Points : 40
    Points
    40
    Par défaut
    Le système utilise le complément à 2 .
    Un ordinateur passe la plupart du temps à penser quel serait la méthode idéale pour réaliser son travail, la condition principale étant calculer et soustraire pour qu'il puisse donner des résultats logiques, c'est-à-dire que - 1 + 1 = 0.
    Donc on représente 11111111 = -1 comme on représente 11111110 = -2
    et comme cela jusqu'à arriver à 10000000 qui serait - 128.
    Le nombre exactement avant serait 01111111 qui serait 127.
    De cette façon, cela nous permet de voir quand un nombre est négatif en regardant si son premier bit est 0 ou 1.

    En arithmétique SIGNÉE, les nombres peuvent être soit positifs soit négatifs :
    • Le bit de signe vaut 1 si le nombre est négatif
    • Le bit de signe vaut 0 si le nombre est positif

    00000001 ----> 1
    00000011 ----> 3
    01111111 ----> 127
    11111111 ----> -1
    11111110 ----> -2
    10000000 ----> -128
    Que signifie le complément à 2 d'un nombre binaire ?

    Dans la base du système numérique existent 2 signes, le 0 et le 1, pour représenter un nombre binaire. Tout nombre binaire a un inverse qui s'obtient en changeant les 0 pour des 1.
    Et bien si au nombre inverse on additionne 1, on obtient le complément à 2 de ce nombre.

    A quoi sert le complément à 2 d'un nombre binaire ?

    Les microprocesseurs, généralement, ne savent pas soustraire, seulement compter. Donc ils utilisent des instructions de soustraction utilisant le complément à 2 pour convertir une soustraction en addition. De cette façon, si on peut calculer tout est résolu.

    Qu'arrive-t-il quand ont soustrait à l'envers ?

    Soustraire
    0100 - 1010 (4 - 10 ) = le résultat est -6 en binaire

    On fait le complément a 1 de 1010 qui serait 0101
    On fait le complément a 2 de 0101 qui serait 0101 + 1 = 0110
    On calcule

    0100 +
    0110
    ----
    1010 qui serait -6

    On teste si au nombre -6 on additionne 6, le résultat sera 0 et un excédent

    1010 qui serait -6
    0110 qui serait +6
    -----
    10000

    Par conséquent, il est donc évident que l'on peut utiliser le complément à 2
    dans les microprocesseurs pour realiser une soustraction, en utilisant des additions.

    Maintenant j'espère que malgré mon mauvais français, vous aurez mieux compris.

    Merci de votre compréhension pour mes fautes d'orthographe, je suis españole et en plus débutante.

  14. #14
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 370
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 370
    Points : 23 625
    Points
    23 625
    Par défaut
    Citation Envoyé par Belgitaes Voir le message
    Maintenant j'espère que malgré mon mauvais français, vous aurez mieux compris. Merci de votre compréhension pour mes fautes d'orthographe, je suis españole et en plus débutante.
    C'est remarquable ! Bon nombre de nos compatriotes ne maîtrisent pas leur langue aussi bien que toi.

  15. #15
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    @Belgitaes,
    bravo, bravo, bravo ! pour ton français et pour avoir su expliquer, en maths, de façon claire et simple, ce que bon nombre de personnes expliquent de façon 'embrouillante'. Merci

    Karo

  16. #16
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Janvier 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 2
    Points : 5
    Points
    5
    Par défaut
    @ Obsidian,
    super l'exemple du compteur kilométrique, pour faire comprendre l'idée!


    karo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Signe en valeur absolue, complément à 1 et à 2
    Par wass878 dans le forum Assembleur
    Réponses: 3
    Dernier message: 24/12/2008, 00h55
  2. Perl et Valeur Absolue O_o
    Par Girzi dans le forum Langage
    Réponses: 4
    Dernier message: 06/07/2006, 10h01
  3. [C#][operateur/function] valeur absolue
    Par Vessaz dans le forum C#
    Réponses: 2
    Dernier message: 12/12/2005, 16h21
  4. Réponses: 4
    Dernier message: 28/10/2005, 16h30
  5. [FLASH MX] Valeur absolue
    Par Toutouffe dans le forum Flash
    Réponses: 2
    Dernier message: 24/01/2005, 00h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo