Nombre négatif en binaire
Discussion fermée
Page 1 sur 2 1 DernièreDernière
Affichage des résultats 1 à 30 sur 34

Nombre négatif en binaire



  1. #1
    Le Capitaine Jack Sparrow

    Nombre négatif en binaire


    ------

    Bonjour, comment on est censé savoir si 1010 en base 2 correspond à -6 et pas à 10 s'il vous plait ?

    Merci.

    -----

  2. #2
    Dlzlogic

    Re : Nombre négatif en binaire

    Bonjour,
    En arithmétique, les nombres déclarés négatifs sont précédés du signe '-'. C'est une convention. Donc, 1010 en binaire vaut 10 en décimal.
    En informatique, il n'existe que deux caractères, '0' et '1'. La convention '-' n'est donc pas possible, il a fallu en trouver une autre : c'est le caractère le plus à gauche.
    Si vous aviez posé la question dans le forum "informatique", j'aurais répondu la même chose mais en inversant l'ordre des phrases.

  3. #3
    gg0
    Animateur Mathématiques

    Re : Nombre négatif en binaire

    Bonjour.

    1010 en binaire correspond à 8+2=10. -6 s'écrit -110b.
    Il ne faut pas confondre l'écriture en base 2 (ou autre) et le codage d'un nombre en informatique. Il n'y a qu'une seule écriture binaire, mais des tas de codages. 1010 en codage DCB c'est le décimal 12. Et il y a plusieurs codages pour les négatifs.

    Cordialement.

  4. #4
    Le Capitaine Jack Sparrow

    Re : Nombre négatif en binaire

    D'accord merci.
    J'avais mal compris le truc, il met un 1devant en fait: http://villemin.gerard.free.fr/Wwwgv...RE/Negatif.htm
    Ca fait donc -6 = 11010.
    Mais la question qui se pose maintenant, c'est comment différencier ça de 11010 positif.

  5. A voir en vidéo sur Futura
  6. #5
    stefjm

    Re : Nombre négatif en binaire

    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    Bonjour, comment on est censé savoir si 1010 en base 2 correspond à -6 et pas à 10 s'il vous plait ?
    Impossible à dire sans connaître le format de codage informatique ou mathématique (format fixe et quel taille ou dynamique).
    Citation Envoyé par gg0 Voir le message
    1010 en binaire correspond à 8+2=10. -6 s'écrit -110b.
    Je vois quand même un codage dans cette écriture.
    Sans le signe moins, un codage naturel est le complément à deux en format fixe.
    Par contre, en format dynamique, je ne vois pas trop...
    Moi ignare et moi pas comprendre langage avec «hasard», «réalité» et «existe».

  7. #6
    invitec998f71d

    Re : Nombre négatif en binaire

    l article complement a 2 donne pas mal de reseignements
    sur la question.
    A noter qu il y a des le depart une convention sur le nombre maximal codable

  8. #7
    stefjm

    Re : Nombre négatif en binaire

    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    J'avais mal compris le truc, il met un 1devant en fait: http://villemin.gerard.free.fr/Wwwgv...RE/Negatif.htm
    Ca fait donc -6 = 11010.
    Ça dépend du codage.
    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    Mais la question qui se pose maintenant, c'est comment différencier ça de 11010 positif.
    On ne peut pas, cela dépend du codage qu'il faut connaitre pour interpréter correctement.
    Dernière modification par stefjm ; 03/05/2017 à 18h09.
    Moi ignare et moi pas comprendre langage avec «hasard», «réalité» et «existe».

  9. #8
    Amanuensis

    Re : Nombre négatif en binaire

    En complément à la réponse de Stefjm

    Un codage sur n bits permet de coder 2^n valeurs distinctes. Tout est possible.

    Si on veut respecter l'ordre (l'ordre lexicographique impliquant l'ordre naturel) et coder des entiers successifs, le choix de codage revient à choisir un intervalle de 2^n entiers. Les choix classiques sont [0, 2^n-1], [1, 2^n], [-2^(n-1), 2^(n-1)-1], [-2^(n-1)+1, 2^(n-1)].

    Il y a aussi des exemples avec deux codes pour le 0 (le premier bit donne le signe, les n-1 autre le codage de |n| codé sur l'intervalle [0, 2(n-1)-1]. Etc.

    Mais rien n'empêche des codages "ésotériques". La spécification la plus générale consiste à coder en binaire le rang, entre 0 et 2^n-1, de la valeur prise dans une liste. Par exemple avec la liste (-1, 0, 1, 2, 5, 10, 100, 10000), codage sur trois bits, le seul code correspondant à un négatif est 000.

    --

    Par contre

    Je vois quand même un codage dans cette écriture.
    Toute écriture est nécessairement un codage. Mais tout codage n'est pas une "écriture en base x".
    Dernière modification par Amanuensis ; 03/05/2017 à 19h07.
    Pour toute question, il y a une réponse simple, évidente, et fausse.

  10. #9
    Le Capitaine Jack Sparrow

    Re : Nombre négatif en binaire

    Merci pour vos réponses.
    Dlzlogic je n'avais pas vu votre réponse, merci.

    Quand on dit que les mots sont représentés sur 4 bits, ça signifie quoi ? Que le quatrieme bit est pour le signe ?
    Le quatrième bit indique le signe ?
    Dans la définition de wiki, il est écrit pour avoir le complément à 2: "On ajoute 1 au résultat (les dépassements sont ignorés).
    ". Je ne comprends ce que signifie les déplacements sont ignorés ? Mais le probleme c'est que lors d'une somme comme celle du dessous on obtient un nombre à 5 bits.

    1011 + 0111 = 10001
    On additionne 2 nombres représenté sur 4 bits, 1011 étant la représentation d'un nombre négatif que j'ai obtenu en effectuant la complémentation à 2 de 0101 et ça donne 10001, qui est censé je pense être un résultat négatif mais sur 5 bits, donc la convention c'est quoi ? Quand il y a des nombres négatif dans la partie, lors des opérations, le dernier bit sera toujours pour le signe ?

  11. #10
    Amanuensis

    Re : Nombre négatif en binaire

    Tant que que vous ne comprenez pas la différence entre codage et représentation mathématique en base 2 (soulignée d'une manière ou d'une autre par toutes les réponses), vous risquez de poser des questions mal posées, comme dans le message qui précède.
    Dernière modification par Amanuensis ; 03/05/2017 à 19h14.
    Pour toute question, il y a une réponse simple, évidente, et fausse.

  12. #11
    Le Capitaine Jack Sparrow

    Re : Nombre négatif en binaire

    D'accord merci. Mais le truc c'est que je ne pense pas avoir besoin de connaitre cette différence pour mes examens, excusez-moi.
    Sur un exercice, il est écrit dans l'énoncé que les mots (d'ailleurs mots je ne sais même pas ce que ça signifie, on parle des nombres j'imagine) sont représentés sur 4 bits, j'imagine que ça indique que le quatrieme est un signe.
    Je dois donner le complément à 2 de 0101, qui est 1010 +1 = 1011
    Ensuite je dois faire l'addition de 1011 et 0111, j'obtient 10010.
    Ca fait en base 10, -(8 - (1 +2)) + (4+2+1) = -5 + 7 = -2
    Donc le dernier bit du résultat de la somme représente le signe.

  13. #12
    Amanuensis

    Re : Nombre négatif en binaire

    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    D'accord merci. Mais le truc c'est que je ne pense pas avoir besoin de connaitre cette différence pour mes examens, excusez-moi.
    Intéressant... Des examens tels qu'il n'est pas nécessaire de comprendre. Pourquoi pas?

    (d'ailleurs mots je ne sais même pas ce que ça signifie, on parle des nombres j'imagine)
    Et pour cause... "Mot" est un terme de codage. Un mot est une des représentations possibles du code. Un code utilisant des mots de 4 bits définit la correspondance entre les 16 mots différents du code et les 16 valeurs qu'ils représentent.

    sont représentés sur 4 bits, j'imagine que ça indique que le quatrieme est un signe.
    Non. Comme déjà répété plein de fois, cela dépend du code. C'est vrai pour certains codes, pas pour tous.

    Je dois donner le complément à 2
    Le complément à 2 est un code particulier.

    de 0101, qui est 1010 +1 = 1011
    Oui. Cela représente donc -5 en codage par complément à 2.

    Ensuite je dois faire l'addition de 1011 et 0111, j'obtient 10010.
    -5 + 7 = 2, le résultat est représenté par 0010. (La retenue doit être ignorée dans ce cas-là.)

    Ca fait en base 10, -(8 - (1 +2)) + (4+2+1) = -5 + 7 = -2
    Non (et il n'y a pas besoin dans ce cas de préciser "en base dix", détail)

    Donc le dernier bit du résultat de la somme représente le signe.
    et non.

    ---

    Vous mélangez deux codes. L'addition des représentations codées dépend du code. Vous additionnez comme si le code était la représentation binaire mathématique (pour laquelle 1011 encode onze), alors que c'est un code en complément à 2, ça ne marche pas comme ça.
    Dernière modification par Amanuensis ; 03/05/2017 à 20h38.
    Pour toute question, il y a une réponse simple, évidente, et fausse.

  14. #13
    pm42

    Re : Nombre négatif en binaire

    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    d'ailleurs mots je ne sais même pas ce que ça signifie, on parle des nombres j'imagine
    Reste comme ça, le principe qui consiste à en apprendre le moins possible va te mener très loin pour rebondir ce sur disait Amenuensis

  15. #14
    Le Capitaine Jack Sparrow

    Re : Nombre négatif en binaire

    Merci pour vos réponses.
    A l'examen, j'aurais des opérations d'arithmétiques dans différentes bases à résoudre, mais pas de question concernant la théorie.

    "Ensuite je dois faire l'addition de 1011 et 0111, j'obtient 10010."
    "-5 + 7 = 2, le résultat est représenté par 0010. (La retenue doit être ignorée dans ce cas-là.)"
    Pourquoi dans ce cas là ? Faut-il que j'additionne les 4ème bits comme ci le 5ème rang était libre mais je ne rempli que le 4ème ?

    Pour représenter les nombres négatif en base 2 en mathématiques on met simlement un - au début j'imagine ?

  16. #15
    invitef29758b5

    Re : Nombre négatif en binaire

    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    Faut-il que j'additionne les 4ème bits comme ci le 5ème rang était libre mais je ne rempli que le 4ème ?
    Parce que :
    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    il est écrit dans l'énoncé que les mots sont représentés sur 4 bits
    Tu ne disposes que de 4 bits .
    Tout ce qui dépasse 4 bits est ignoré .

  17. #16
    gg0
    Animateur Mathématiques

    Re : Nombre négatif en binaire

    1011b + 0111b = 11+7=18 =2 =0010b .
    J'ai confondu 2 et 18 car on a 16=0 puisqu'on ne code que de 0 à 15 (16 codes possibles sur 4 bits).
    Ce qui revient à dire que dans 10010 fait à la main, le 1 initial est perdu.

    mais ceci n'est plus du calcul binaire, c'est du calcul sur des registres logiques (en info par exemple). La calcul mathématique binaire est
    1011b + 0111b = 10010b .

    Cordialement.

  18. #17
    stefjm

    Re : Nombre négatif en binaire

    Citation Envoyé par Amanuensis Voir le message
    Intéressant... Des examens tels qu'il n'est pas nécessaire de comprendre. Pourquoi pas?
    Citation Envoyé par pm42 Voir le message
    Reste comme ça, le principe qui consiste à en apprendre le moins possible va te mener très loin pour rebondir ce sur disait Amenuensis
    C'est malheureusement une tendance dans l'enseignement et ce n'est pas que la faute des étudiants.
    L'exemple du complément à deux est assez révélateur.
    On fait apprendre une recette de cuisine (inverser bit à bit, ajouter 1) qui mélange chiffre-opération sur bit et nombre-opération arithmétique.
    La théorie qu'il y a derrière la recette est enseignée mais n'est pas perçues comme utile ni par les dirigeants qui font les programmes (c'est des maths inutiles pour le plus grand nombre, on doit former des techniciens opérationnels, pas des matheux intello dédicace spéciale à Médiat), ni par certains étudiants qui ne veulent que la note (et comment leur en vouloir s'ils ne sont évalués que sur la recette de cuisine?).
    Le plus amusant est que la recette de cuisine ne sert à peu près jamais en terme opérationnel car les outils informatiques font le job. C'est un peu comme les tableau de Karnaugh : plus aucun intérêt opérationnel aujourd'hui, mais intéressant pour l'aspect théorique qui permet de comprendre la logique du truc et le codage binaire réfléchi...

    Du coup, pour les étudiants superficiels, faire la différence entre ce qui suit est devenu mission impossible!
    0xFFFF=0b1111111111111111=0177 777=65535 : représentations du même nombre en différentes bases (codage en C)
    F, 1, 7 : interprété comme chiffres
    'F', '1', '7' : caractère de code ASCII 0x46, 0x31, 0x37
    "FFFF" : chaine de caractères

    Ajouter à cela la transmission ou le stockage de ces informations : big ou little endian
    ainsi que la taille des mots
    et les pointeurs (*), les adresses de (&) et les contenus de (*)

    et vous avez un superbe bouquet explosif! L'erreur la plus courante est alors "incompatibilité de type" lors d'affectation incohérente entre nombre de format différent, caractère, chaine de caractère, adresse et j'en passe!

    La façon moderne de travailler est alors d'aller poster son code sur le net, et d'obtenir des réponses du genre : "remplace les "" "" par 0x".

    C'était ma minute de matheux intello...
    Moi ignare et moi pas comprendre langage avec «hasard», «réalité» et «existe».

  19. #18
    Amanuensis

    Re : Nombre négatif en binaire

    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    Pour représenter les nombres négatif en base 2 en mathématiques on met simlement un - au début j'imagine ?
    Si on parle d'écriture, c'est certainement la pratique la plus évidente, alignée sur ce qu'on fait communément pour la base dix.
    Pour toute question, il y a une réponse simple, évidente, et fausse.

  20. #19
    invite563547f9

    Re : Nombre négatif en binaire

    Bonjour,

    J'arrive de l'extérieur et je vais peut-être dire n'importe quoi, mais il a été dit de distinguer le codage et la représentation mathématique en base 2. Outre que par le terme codage on entende parfois aussi tous les problèmes informatiques sous-jacents, la "représentation mathématique en base 2" ne serait-elle pas qu'un exemple de codage ?

    On a une série de symboles qu'on utilise avec certaines règles pour représenter des concepts abstraits comme les nombres, qui eux, n'existent que par les propriétés qu'on leur donne. Je me trompe ?

  21. #20
    Amanuensis

    Re : Nombre négatif en binaire

    Citation Envoyé par jtruc34 Voir le message
    J'arrive de l'extérieur et je vais peut-être dire n'importe quoi, mais il a été dit de distinguer le codage et la représentation mathématique en base 2. Outre que par le terme codage on entende parfois aussi tous les problèmes informatiques sous-jacents, la "représentation mathématique en base 2" ne serait-elle pas qu'un exemple de codage ?
    Oui (déjà indiqué, fin du message #8) ; techniquement, c'est un codage de longueur variable avec comme jeu de symboles des caractères.

    On a une série de symboles qu'on utilise avec certaines règles pour représenter des concepts abstraits comme les nombres, qui eux, n'existent que par les propriétés qu'on leur donne. Je me trompe ?
    Non, c'est correct.
    Pour toute question, il y a une réponse simple, évidente, et fausse.

  22. #21
    jacknicklaus

    Re : Nombre négatif en binaire

    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    D'accord merci. Mais le truc c'est que je ne pense pas avoir besoin de connaitre cette différence pour mes examens, excusez-moi. Sur un exercice, il est écrit dans l'énoncé que les mots (d'ailleurs mots je ne sais même pas ce que ça signifie, on parle des nombres j'imagine) .
    Une question sur ce "raisonnement" : Pense tu que faire de l'informatique consiste à déposer son cerveau et appliquer des recettes de cuisine sans les comprendre ?

    Un peu de sérieux !
    There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy.

  23. #22
    Le Capitaine Jack Sparrow

    Re : Nombre négatif en binaire

    Merci pour vos réponses.

    "1011b + 0111b = 11+7=18 =2 =0010b ."
    18 = 2, dés que ça dépasse 16 on fait -16 ?

    "Une question sur ce "raisonnement" : Pense tu que faire de l'informatique consiste à déposer son cerveau et appliquer des recettes de cuisine sans les comprendre ?"
    Non, mais ici je vais avoir à faire des calculs plutôt que de l'informatique.

    J'ai une autre question concernant les divisions euclidiennes dans différentes de base.
    Soit la division en base 5 de 4340 par 2, ca commence comme ça:
    4340 - 2 * 2000 = 340
    340 - 2 * 100 = 140
    140 - 2 * 40 = 10
    Ici, je me demande si il est possible qu'à la place de 140 il pourrait y avoir 240, et que donc l'unité que je devrais rentré dans la zone réservé au quotient serait 7, le problème serait que 7 n'existe pas en base 5.
    Est-ce possible ? Je pense que non.

  24. #23
    Dlzlogic

    Re : Nombre négatif en binaire

    Bonjour,
    Je pense que si j'avais à faire des opérations arithmétique dans une autre base que 10, je commencerais par écrire sur un brouillon les tables de multiplication. En base 10, pour moi, c'est pas la peine, parce que je les connais par cœur.

  25. #24
    stefjm

    Re : Nombre négatif en binaire

    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    18 = 2, dés que ça dépasse 16 on fait -16 ?
    Oui, parce que vous travaillez sur 4 bits : Le poids du bit n°4 (celui qui dépasse) vaut 2^4=16 (numérotation de 0 à 3 pour 4 bits).
    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    Non, mais ici je vais avoir à faire des calculs plutôt que de l'informatique.
    Il faut quand même connaitre le contexte : calcul fait par une machine en format fixe ou calcul fait par un humain en format variable?
    Pas la même réponse.

    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    J'ai une autre question concernant les divisions euclidiennes dans différentes de base.
    Soit la division en base 5 de 4340 par 2, ca commence comme ça:
    4340 - 2 * 2000 = 340
    340 - 2 * 100 = 140
    140 - 2 * 40 = 10
    Ici, je me demande si il est possible qu'à la place de 140 il pourrait y avoir 240, et que donc l'unité que je devrais rentré dans la zone réservé au quotient serait 7, le problème serait que 7 n'existe pas en base 5.
    Est-ce possible ? Je pense que non.
    Je n'arrive pas à cerner d'où vous sortez ce 7.
    240 - 2 * 100 = 40
    40 - 2* 20 = 0

    240/2 = 120 et reste 0.
    Moi ignare et moi pas comprendre langage avec «hasard», «réalité» et «existe».

  26. #25
    Amanuensis

    Re : Nombre négatif en binaire

    Marrant toutes ces interventions qui parlent de base 10.
    Pour toute question, il y a une réponse simple, évidente, et fausse.

  27. #26
    Le Capitaine Jack Sparrow

    Re : Nombre négatif en binaire

    Merci pour vos réponses.

    "Le poids du bit n°4 (celui qui dépasse) vaut 2^4"
    Je pensais qu'il valait 2^3, avec 2^0 pour le n°1.

    "Il faut quand même connaitre le contexte : calcul fait par une machine en format fixe ou calcul fait par un humain en format variable?
    Pas la même réponse."
    Par un humain, je ne sais pas ce qu'est un format fixe/variable par contre.

    "Je n'arrive pas à cerner d'où vous sortez ce 7."
    J'ai fais une erreur.
    La question était de savoir, si, lorsque je pose une division euclidienne, je peux avoir à placer un nombre à plusieurs chiffre dans la zone du quotient, alors que je ne suis pas encore arrivé aux unités. Je pense que non mais je demande quand même.
    Par exemple si on pouvait avoir un truc au cours de la division comme:
    XX - 2 * (nombre à 2 chifffres) = xx123

  28. #27
    stefjm

    Re : Nombre négatif en binaire

    Citation Envoyé par Amanuensis Voir le message
    Marrant toutes ces interventions qui parlent de base 10.
    Normal, c'est dans le titre et cela permet une généralisation de l'écriture.
    C'est lourd de préciser la base en énumérant dans l'ordre la liste des symboles utilisés.
    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    "Le poids du bit n°4 (celui qui dépasse) vaut 2^4"
    Je pensais qu'il valait 2^3, avec 2^0 pour le n°1.
    D'où l'importance de savoir le format utilisé : signé ou non signé, fixe ou variable.
    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    Par un humain, je ne sais pas ce qu'est un format fixe/variable par contre.
    Pareil que pour une machine : c'est une convention de codage.
    En général, en mathématique, l'humain travaille en format variable : Il ne perd pas la retenue éventuelle.

    Un petit cours sympa sur le codage des entiers relatifs : http://info-llg.fr/commun-mpsi/pdf/04.nombres.pdf
    Citation Envoyé par Le Capitaine Jack Sparrow Voir le message
    J'ai fais une erreur.
    La question était de savoir, si, lorsque je pose une division euclidienne, je peux avoir à placer un nombre à plusieurs chiffre dans la zone du quotient, alors que je ne suis pas encore arrivé aux unités. Je pense que non mais je demande quand même.
    Par exemple si on pouvait avoir un truc au cours de la division comme:
    XX - 2 * (nombre à 2 chifffres) = xx123
    La réponse à cette question est la même quelle que soit la base utilisée pour faire la division.
    En base 10 aka (0,1) aka deux
    ou 10 aka (0,1,2,3,4) aka cinq
    ou 10 aka (0,1,2,3,4,5,6,7,8,9) aka dix
    ou 10 aka (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E ,F) aka seize
    Moi ignare et moi pas comprendre langage avec «hasard», «réalité» et «existe».

  29. #28
    Amanuensis

    Re : Nombre négatif en binaire

    Citation Envoyé par stefjm Voir le message
    Normal, c'est dans le titre
    ?? ??
    Pour toute question, il y a une réponse simple, évidente, et fausse.

  30. #29
    stefjm

    Re : Nombre négatif en binaire

    binaire dans le titre : base deux, nombre deux qui s'écrit 10.

    La base s'écrit 10 {\displaystyle 10} 10 dans toutes les bases.
    Moi ignare et moi pas comprendre langage avec «hasard», «réalité» et «existe».

  31. #30
    Matmat

    Re : Nombre négatif en binaire

    C'est la même blague que la fameuse "il y a 10 sortes de gens , ceux qui connaissent le binaire et les autres"

Page 1 sur 2 1 DernièreDernière

Discussions similaires

  1. Nombre complexe avec exposant négatif
    Par invited4f3b9a2 dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 12/06/2014, 16h19
  2. PYTHON - Chercher un nombre négatif dans un vecteur
    Par invitef702cf04 dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 30/04/2012, 12h48
  3. ln( nombre negatif ) = complexe ?
    Par invite9c7554e3 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 21/11/2011, 11h55
  4. ln d'un nombre négatif
    Par invite5a685214 dans le forum Mathématiques du supérieur
    Réponses: 15
    Dernier message: 09/07/2010, 07h27
  5. negatif en binaire
    Par invitefc1671e3 dans le forum Électronique
    Réponses: 4
    Dernier message: 21/10/2006, 18h59