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

Algorithmes et structures de données Discussion :

Arithmetique et logique


Sujet :

Algorithmes et structures de données

  1. #1
    Membre éclairé Avatar de wareq
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 257
    Par défaut Arithmetique et logique
    Je sais pas si je suis dans le bon forum mais qui sait pourquoi le prof d'info a trouvé à -112-40 en base 10 , 104 en base 10 alors que les autres opérations c'est des opérations normals comme en base 10.
    Par exemple 65-22 = 43 en base 10 et la pourquoi - 112 - 40 fait 104 , comment trouve ton cela ? je n'avai pa remarqué mais pourtant c'est marqué sur la feuille de correction? alors j'aimerai bien savoir avant le controle demain parce que c'est bizare...merci a ceux qui savent..

  2. #2
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Le calcul
    est juste, en base 10. Modulo 256 pour être précis.

    Explication :
    En fait, il faut se baser sur 256 nombres, allant de -128 à 127.

    Par dépassement de capacité, on obtient alors les calculs suivants :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    -128 - 1 = 127
    127 + 1 = -128
    -112-40 = 104
    Si tu as du mal à voir de quoi je parle, le plus simple est de représenter ces nombres en binaires, et de refaire les 3 calculs précédents.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  3. #3
    Membre éclairé Avatar de wareq
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 257
    Par défaut
    Non je ne comprend toujours pas comment on trouve 104 ... mais à mon avis pour trouver on est obligé de les mettre en binaire comme tu dis ? car sinon je ne vois pas comment on peut déduire ça d'un coup. Merci à toi .

  4. #4
    Membre Expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Par défaut
    Sur un intervalle (circulaire) de -128 à 127, c'est pourtant relativement simple.

    Si l'on raisonne normalement, -112 - 40 = -152

    Or, notre intervalle est limité à -128 pour les valeurs négatives.

    Nous sommes donc avec un excès de 24, au dela de -128.

    Or, les valeurs en excès nous font reboucler de l'autre côté de l'intervalle, du côté du 127, et on continue à diminuer ...

    Comme l'a montré gangsoleil, un excès de 1 au delà de l'intervalle fait passer de -128 à 127. Un excès de 2 amène à 126, de 3 à 125, de 4 à 124 ... de 24 à 104.

    Donc, si l'on a un intervalle borné de -128 à 127 (un nombre signé, représenté sur un octet), par le jeu des débordements de capacité, on a bien -112 - 40 = 104.

  5. #5
    Membre éclairé Avatar de wareq
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 257
    Par défaut
    Ok explication très claire , merci !
    Par contre pourquoi c'est pas -104 ?
    car on part de -128 et on remonte de 24..donc pour moi c'est -104 non?

  6. #6
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 817
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 817
    Par défaut
    Salut,

    Citation Envoyé par wareq
    on part de -128 et on remonte de 24..donc pour moi c'est -104 non?
    Tu ne remontes pas, tu descends... et après -128, vers le bas, c'est 127 (au lieu de -129)... en gros -128-1=127. Reste plus qu'à enlever les 23 qui restent pour tomber à 104.
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  7. #7
    Membre éclairé Avatar de wareq
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 257
    Par défaut
    Ok merci bien pas compliqué en faite!!

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

Discussions similaires

  1. Evaluation arithmetique et logique
    Par MoonSef dans le forum C
    Réponses: 2
    Dernier message: 15/04/2006, 13h15
  2. Evalutation d'expression logique/booleenne
    Par eesteban dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 16/06/2004, 14h58
  3. Port parallèle et ou logique
    Par declencher dans le forum Langage
    Réponses: 2
    Dernier message: 05/06/2004, 19h02
  4. Un lecteur logique caché!!!
    Par Cyberman dans le forum Composants
    Réponses: 3
    Dernier message: 05/10/2003, 23h16
  5. [langage] Arithmétique en virgule flottante
    Par marouanitos dans le forum Langage
    Réponses: 3
    Dernier message: 19/09/2003, 14h48

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