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

Mathématiques Discussion :

Stockage d'un nombre dans 32 bits


Sujet :

Mathématiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 8
    Par défaut Stockage d'un nombre dans 32 bits
    Bonjour tout le monde

    Tout d´abord je voudrais m´excuser d´avance si je pose ma problématique dans le mauvais forum vu que je n´ai pas trouvé ce que pourrait être la section adéquate.

    Etant nouveau et débutant se tournant vers l´apprentissage des bases de l´informatique je suis à la recherche d´une réponse à une , disons, problématique.

    Je suis au niveau des bases de l´informatique visant à comprendre le système binaire et tout ce qui se rapporte à ce chapitre.

    Je fais face à une problématique dont voici l´énoncé :

    M. Dupont se félicite de l'équilibre budgétaire de 2014 et s'inquiète de la dette publique toujours croissante en Europe et aux États-Unis.
    Il note que les États-Unis dépasseront cette année une dette nationale de 22.222.222.222.222,22 dollars.
    Il veut entrer cette valeur dans un tableur pour calculer quelque chose.
    Il entre donc la valeur dans une cellule et se demande pourquoi le programme corrige automatiquement cette valeur à 22.222.222.222.222,20 raison pour laquelle les questions suivantes se posent à vous :
    1- Pourquoi la valeur est-elle automatiquement modifiée par le système?
    2- s´agit-il d´un système 32 bits? (expliquer)

    Bon ma réponse à moi serait que le système a atteint sa limite de mémoire et c´est pour cela la valeur a été automatiquement changée et que il ne s´agit pas d´un 32 bits puisque le 32 Bits est capables d´enregistrer jusqu´à 2 (exp 32) -1.

    J´ai des doutes sur ma réponse et c´est pour cela que je me tourne vers vous.

    Merci d´avance pour vos réponses.

  2. #2
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 233
    Par défaut
    Un système 32 bits est capable de traiter des nombres jusqu'à 2^32 -1 ... considérons que ceci est vrai, c'est quasi vrai.

    L'un des problèmes c'est que stocker des entiers jusqu'à 2^32-1, ça prend un certain espace. Mais stocker des nombres à virgule jusqu'à 2^32-1, ça prend plus d'espace.

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 8
    Par défaut
    Merci pour votre réponse mais ça ne répond pas aux questions de la problématique énoncée.

  4. #4
    Membre Expert

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Billets dans le blog
    9
    Par défaut Stockage d'un nombre dans 32 bits
    Bonjour,

    Citation Envoyé par ABA124 Voir le message
    ... Il note que les États-Unis dépasseront cette année une dette nationale de 22.222.222.222.222,22 dollars.
    Il veut entrer cette valeur dans un tableur pour calculer quelque chose.
    Il entre donc la valeur dans une cellule et se demande pourquoi le programme corrige automatiquement cette valeur à 22.222.222.222.222,20 raison pour laquelle les questions suivantes se posent à vous :
    1- Pourquoi la valeur est-elle automatiquement modifiée par le système?
    2- s´agit-il d´un système 32 bits? (expliquer) ...
    Si l'on s'en tient déjà à la seule valeur entière citée, on observe que l'on a
    Ln(22222222222222)/Ln(2) = 44.337...
    et qu'elle ne peut par conséquent être représentée par un entier au format LongInt, donc au plus égal à 231 - 1 ~ 2.147E9.

    Un nombre décimal exige à fortiori un espace plus important, par exemple 10 octets au format Extended; le nombre de chiffres significatifs (16 ou 18) dépend alors du standard adopté par le logiciel.

    Si la frappe de la chaîne à 16 chiffres "22222222222222,22" conduit à l'affichage du nombre "22222222222222.20", c'est qu'un troncature intervient automatiquement dès la saisie de la donnée: il te faut donc consulter la documentation de ton tableur pour connaître la précision des données à virgule flottante, et comprendre ce qui se passe.

  5. #5
    Membre Expert

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Billets dans le blog
    9
    Par défaut Stockage d'un nombre dans 32 bits
    Citation Envoyé par ABA124 Voir le message
    ... Bon ma réponse à moi serait que le système a atteint sa limite de mémoire et c´est pour cela la valeur a été automatiquement changée et que il ne s´agit pas d´un 32 bits puisque le 32 Bits est capable d´enregistrer jusqu´à 2 (exp 32) -1 ...
    Je découvre une notation défectueuse, qui dissimule peut-être une erreur:

    La limite évoquée est (2^32) - 1 = 4 294 967 295 ,

    et non pas 2(exp 32) - 1 = 2*Exp(32) - 1 ~ 1.579E14 .

  6. #6
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 8
    Par défaut
    Alors tout d´abord merci pour vos messages cependant je remarque qu´on est entrain de dévier du sujet principal.

    De ce fait je essayer de simplifier les choses : mettez vous dans la peau de quelqu´un qui est entrain d´apprendre les bases de l´informatique (système binaire , calcul binaire , ce que c´est un 8 bits , un 16 bits . un 32 bits etc...) ce qui voudra dire qu´on est ni sur Windows ni sur un tableur déjà préétabli genre Excel ou autre.

    Les questions qui se posent donc sont simplement :
    1- Pourquoi 22.222.222.222.222,22 se voit changé automatiquement en 22.222.222.222.222,20?
    2- S´agit-il d´un système 32 Bits? si oui expliquer et si non ben expliquer aussi

    P.S : Pour votre gouverne ceci est l´énoncée d´un exercice pour des étudiants


    Merci

  7. #7
    Rédacteur/Modérateur

    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Décembre 2013
    Messages
    4 233
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Conseil

    Informations forums :
    Inscription : Décembre 2013
    Messages : 4 233
    Par défaut
    Commençons par un exercice un peu plus simple. On va oublier la partie décimale. Pour l'exercice, il faudra bien entendu revenir à l'énoncé initiale.

    Donc mon nouvel exercice, ce serait : on tape 22 222 222 222 222 .. et on voit à l'affichage 22 222 222 222 220. Que peut-on en déduire ?
    Ou une autre question un peu similaire, est-ce que 22 222 222 222 222 est plus petit que 2^31, ou plus grand que 2^31, ou même beaucoup plus grand que 2^31 ?

    L'objectif n'est pas de faire l'exercice à ta place, ça n'aiderait personne. Pas toi en tout cas.
    L'objectif, c'est de te guider vers la solution.

  8. #8
    Membre Expert

    Homme Profil pro
    Formation: Chimie et Physique (structure de la matière)
    Inscrit en
    Décembre 2010
    Messages
    1 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Formation: Chimie et Physique (structure de la matière)
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2010
    Messages : 1 333
    Billets dans le blog
    9
    Par défaut
    Citation Envoyé par ABA124 Voir le message
    ... Les questions qui se posent donc sont simplement :
    1- Pourquoi 22.222.222.222.222,22 se voit changé automatiquement en 22.222.222.222.222,20?
    2- S´agit-il d´un système 32 Bits? si oui expliquer et si non ben expliquer aussi

    P.S : Pour votre gouverne ceci est l´énoncée d´un exercice pour des étudiants
    ...
    Alors ce qu'il transparaît de ce recadrage et que tu aurais dû dire, c'est que le nombre en cause est écrit en base 256 avec notation décimale, et qu'il est constitué de 6 bytes:
    N = a b c d e,f
    présentant respectivement les valeurs: a = e = 22 ; b = c = d = 222;
    l'espace occupé par cette donnée correspond à 6 octets, soit 6*8 = 48 bits (en laissant de côté la question de la virgule.

    Si l'on reconnaît immédiatement une notation binaire ou hexadécimale, il n'en va pas de même d'une notation mixte: la moindre des choses était de préciser la clé de lecture de la donnée.
    La divination ne fait pas partie des démarches normales des intervenants.

  9. #9
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 294
    Par défaut
    Bonjour

    @ABA124: Le ton impérieux que tu prends est vraiment malvenu.
    Si tu es nul, ce n'est pas la faute des habitués du forum.
    Ce ton est d'autant plus malvenu que la réponse a été donnée.

    Et pour bien te montrer que c'est toi qui ne sais pas lire / n'a pas lu / s'en fout totalement (rayer la mention inutile), je vais citer la phrase de wiwaxia, qui, selon moi, apporte la bonne réponse :

    il te faut donc consulter la documentation de ton tableur pour connaître la précision des données à virgule flottante, et comprendre ce qui se passe.
    Tu vas encore nous dire que tu es étudiant, donc nul, donc flemmard, donc tu n'a pas cherché ce qu'est la représentation en virgule flottante.
    Mais ça c'est de la 💩. Ce n'est pas parce qu'on débute qu'on n'étudie pas. C'est parce que t'es un glandeur.

  10. #10
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 373
    Par défaut
    Bonjour,

    Juste comme ça:

    Représentation 32 bits (IEEE754) du flottant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    22222222222222.22 ==> 01010101 10100001 10110000 00011101
    22222222222222.2  ==> 01010101 10100001 10110000 00011101
    22222222222222.0  ==> 01010101 10100001 10110000 00011101

  11. #11
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2018
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2018
    Messages : 8
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    @ABA124: Le ton impérieux que tu prends est vraiment malvenu.
    Si tu es nul, ce n'est pas la faute des habitués du forum.
    Ce ton est d'autant plus malvenu que la réponse a été donnée.

    Et pour bien te montrer que c'est toi qui ne sais pas lire / n'a pas lu / s'en fout totalement (rayer la mention inutile), je vais citer la phrase de wiwaxia, qui, selon moi, apporte la bonne réponse :

    Tu vas encore nous dire que tu es étudiant, donc nul, donc flemmard, donc tu n'a pas cherché ce qu'est la représentation en virgule flottante.
    Mais ça c'est de la 💩. Ce n'est pas parce qu'on débute qu'on n'étudie pas. C'est parce que t'es un glandeur.
    J´ai trop hésite à te répondre , car de base répondre aux gens de ce niveau te rabaisse à leur niveau , mais je vais prendre quand même la peine de te répondre estimant que peut être tu es encore jeune et que tu as des difficultés d´analyse et de manque de savoir vivre.

    Tout d´abord j´ai remercié tout le monde pour le fait d´avoir pris la peine de me répondre et , humblement , repris la main pour mentionner que le but de l´énoncée était différent de ce qui a été mentionné dans les réponses.

    Apparemment tu as appris 2 nouveaux mots "impérieux" et "malvenu" que tu voulais coûte que coûte balancer quelque part c´est pour cela que je vais excuser ton INcivilité et je vais te prier de bien vouloir consulter la documentation du "savoir vivre" et des que t´auras terminé tu enchaînes direct avec "comment se tenir à table" ou plus exactement "comment se tenir dans un forum".(tu trouveras que balancer des termes comme mer..e n´y figurent pas).

    Cependant merci d´avoir pris la peine d´écrire ces quelques lignes.

    Citation Envoyé par tbc92 Voir le message
    Commençons par un exercice un peu plus simple. On va oublier la partie décimale. Pour l'exercice, il faudra bien entendu revenir à l'énoncé initiale.

    Donc mon nouvel exercice, ce serait : on tape 22 222 222 222 222 .. et on voit à l'affichage 22 222 222 222 220. Que peut-on en déduire ?
    Ou une autre question un peu similaire, est-ce que 22 222 222 222 222 est plus petit que 2^31, ou plus grand que 2^31, ou même beaucoup plus grand que 2^31 ?

    L'objectif n'est pas de faire l'exercice à ta place, ça n'aiderait personne. Pas toi en tout cas.
    L'objectif, c'est de te guider vers la solution.
    Bien le bonjour
    Voilà ce qu´on appelle une réponse constructive.
    Chapeau bas tbc92 , ça donne bien envie de débattre.
    Alors pour répondre à ta question: oui il est plus petit que 2^31 (d´où ma réponse disant que ce n´est pas un système 32 Bits qui en elle même est une réponse à la question 2 de mon énoncée).

    Seulement voila , la question 1 reste non résolue.puisque le nombre est plus petit que 2^31 , le système retournera une erreur vu que le nombre a dépassé la mémoire affectée et non pas l´arrondir non?

    Merci d´avance pour la réponse

    Citation Envoyé par wiwaxia Voir le message
    Alors ce qu'il transparaît de ce recadrage et que tu aurais dû dire, c'est que le nombre en cause est écrit en base 256 avec notation décimale, et qu'il est constitué de 6 bytes:
    N = a b c d e,f
    présentant respectivement les valeurs: a = e = 22 ; b = c = d = 222;
    l'espace occupé par cette donnée correspond à 6 octets, soit 6*8 = 48 bits (en laissant de côté la question de la virgule.

    Si l'on reconnaît immédiatement une notation binaire ou hexadécimale, il n'en va pas de même d'une notation mixte: la moindre des choses était de préciser la clé de lecture de la donnée.
    La divination ne fait pas partie des démarches normales des intervenants.
    Bonjour

    J´ai repris l´énoncée exactement comme elle a été posée dans un exercice donc je ne sais pas s´il a été écris en base 256 avec notation décimale.

Discussions similaires

  1. Réponses: 12
    Dernier message: 29/01/2024, 15h32
  2. Réponses: 0
    Dernier message: 21/01/2014, 22h36
  3. erreur dans le calcul de nombre moyen des bits érronés
    Par princesse07 dans le forum MATLAB
    Réponses: 3
    Dernier message: 23/05/2008, 14h30
  4. Problème lecture de nombre dans un fichier en c++
    Par knecmotet dans le forum C++
    Réponses: 1
    Dernier message: 28/10/2004, 15h48
  5. [JDBC]Stockage d'un byte[] dans un Blob
    Par pista dans le forum JDBC
    Réponses: 2
    Dernier message: 25/06/2004, 16h47

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