Précédent   Forum du club des développeurs et IT Pro > C et C++ > C++
C++ Forum d'entraide technique sur le langage C++. Avant de poster -> F.A.Q C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 04/09/2012, 18h41   #1
gbdivers
Responsable C++

 
Homme Guillaume Belz
Biochimiste
Inscription : novembre 2008
Messages : 5 311
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Belz
Âge : 37
Localisation : France, Rhône (Rhône Alpes)

Informations professionnelles :
Activité : Biochimiste
Secteur : Santé

Informations forums :
Inscription : novembre 2008
Messages : 5 311
Points : 19 506
Points : 19 506
Par défaut Les nombres flottants et leurs pièges

Une partie des erreurs que l'on retrouve régulièrement en C++ vient d'une connaissance superficielle de la manipulation des nombres réels en informatique. Dans la série d'articles "flotting point", Bruce Dawson aborde en détail les problématiques liées à la représentation des nombres à virgule flottante. Ce premier article pose les bases et explore le monde étrange et merveilleux des mathématiques à virgule flottante.

Les nombres flottants et leurs pièges

Quels sont les principales difficultés que vous avez déjà rencontrées en manipulant les nombres à virgule flottant ?
Quels autres astuces connaissez-vous sur les nombres à virgule flottant ?


Retrouver l'ensemble des articles de cette série sur la page d'index.
__________________
Vous souhaitez rejoindre l'équipe de bénévoles qui fait vivre Developpez (traduction, rédaction, modération) ? Contactez moi par MP.

Ma page personnelle avec la liste de mes articles - Mon blog sur le C++, Qt et les GPU.

Je suis régulièrement sur le chat pour les questions C++/Qt.

Apprendre Qt 5 : vidéos d'installation (YouTube), extraites du livre Créer des applications avec Qt 5.
gbdivers est actuellement connecté   Envoyer un message privé Réponse avec citation 50
Vieux 05/09/2012, 14h18   #2
Aleph69
Membre Expert
 
Homme
Chercheur
Inscription : mars 2010
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chercheur

Informations forums :
Inscription : mars 2010
Messages : 1 143
Points : 1 654
Points : 1 654
Bonjour,

merci pour la traduction!
Le billet est excellent : son contenu est intéressant et vraiment très pédagogique.

Il y a un petit bémol selon moi.
La traduction française du titre ne me semble pas complètement refléter la version originale Tricks With the Floating-Point Format. En lisant Les nombres flottants et leurs pièges, j'ai pensé que le billet aborderait les pièges liés au calcul et à la manipulation de flottants. Il ne traite en fait que de la nature du format, ce qu'annonçait bien le titre original.

A part ce détail, c'est parfait.

Bonne continuation!
Aleph69 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/09/2012, 16h54   #3
Nathanael Marchand
Rédacteur/Modérateur

 
Avatar de Nathanael Marchand
 
Homme Nathanael Marchand
Expert .Net So@t
Inscription : octobre 2008
Messages : 3 520
Détails du profil
Informations personnelles :
Nom : Homme Nathanael Marchand
Âge : 26
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Expert .Net So@t
Secteur : Conseil

Informations forums :
Inscription : octobre 2008
Messages : 3 520
Points : 7 961
Points : 7 961
Je me permets de signaler que je trouve cette formulation un peu ambigüe:
Citation:
•si le champ exposant est nul, alors l'exposant est -126
Il me semble plus clair d'écrire
Citation:
•si le champ exposant vaut 0, alors l'exposant est -126
Nathanael Marchand est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2012, 18h24   #4
FR119492
Rédacteur/Modérateur
 
Jean-Marc Blanc
Inscription : avril 2007
Messages : 2 837
Détails du profil
Informations personnelles :
Nom : Jean-Marc Blanc
Âge : 72

Informations forums :
Inscription : avril 2007
Messages : 2 837
Points : 3 971
Points : 3 971
Bonjour à tous!
Cet article confirme mon opinion, à savoir qu'une grave lacune s'est progressivement introduite dans l'enseignement de l'informatique: on semble ne plus enseigner la base de ce qu'il y a dans un ordinateur. Avec les langages dits "de haut niveau", on s'éloigne de la réalité. Je pense que les futurs informaticiens devraient voir en premier lieu ce qu'est un processeur, comment ça fonctionne, avec quelques rudiments de langage machine et d'assembleur, non pas pour les utiliser par la suite, mais pour comprendre. C'est pourquoi la connaissance de la norme IEEE 754 est essentielle.

C'est cette lacune qui explique des messages stupides, en particulier dans le forum Matlab par exemple:
Citation:
J'ai voulu calculer 1 - 1/3 - 1/3 - 1/3 et ça ne me donne pas zéro
ou:
Citation:
J'ai un fichier qui contient une courbe...
Jean-Marc Blanc
__________________
Calcul numérique de processus industriels
Formation, conseil, développement

Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)
FR119492 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 05/09/2012, 20h54   #5
Jean-Marc.Bourguet
Expert Confirmé Sénior

 
Inscription : novembre 2005
Messages : 4 970
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 4 970
Points : 5 607
Points : 5 607
On enseigne pas assez ce qu'est un flottant, c'est certain. Je ne suis pas sûr par contre qu'il faille commencer par un modèle de comment fonctionne un ordinateur. J'ai vu aussi trop de gens faire des bêtises "pour être prêt de la machine" sans se rendre compte que le modèle qu'il avait de ce qu'était un processeur était trop simpliste pour pouvoir justifier les conclusions qu'ils en tiraient sur l'intérêt ou le non intérêt de faire certaines choses. Et un modèle réaliste, je préfère attendre un peu.
__________________
Les MP ne sont pas là pour les questions techniques, les forums sont là pour ça.
Jean-Marc.Bourguet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2012, 18h58   #6
ptyxs
Membre éclairé
 
Inscription : août 2008
Messages : 301
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2008
Messages : 301
Points : 300
Points : 300
Citation:
Envoyé par Aleph69 Voir le message
Il y a un petit bémol selon moi.
La traduction française du titre ne me semble pas complètement refléter la version originale Tricks With the Floating-Point Format. En lisant Les nombres flottants et leurs pièges, j'ai pensé que le billet aborderait les pièges liés au calcul et à la manipulation de flottants. Il ne traite en fait que de la nature du format, ce qu'annonçait bien le titre original.
Le titre original contient le mot 'trick' qui en français signifie 'tour' (au sens mauvais tour qu'on joue à quelqu'un) ou même 'tromperie' : la traduction par 'piège' est donc tout à fait correcte et le titre français me semble donc être un très bon reflet du titre original.
Quant à savoir si le titre original reflète bien le contenu de l'article, c'est une autre paire de manches...
ptyxs est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 07/09/2012, 19h08   #7
kwariz
Expert Confirmé
 
Homme Fred Kwariz
Chef de projet en SSII
Inscription : octobre 2011
Messages : 713
Détails du profil
Informations personnelles :
Nom : Homme Fred Kwariz
Âge : 40
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Chef de projet en SSII
Secteur : Conseil

Informations forums :
Inscription : octobre 2011
Messages : 713
Points : 2 788
Points : 2 788
Citation:
Envoyé par ptyxs Voir le message
Le titre original contient le mot 'trick' qui en français signifie 'tour' (au sens mauvais tour qu'on joue à quelqu'un) ou même 'tromperie' : la traduction par 'piège' est donc tout à fait correcte et le titre français me semble donc être un très bon reflet du titre original.
Quant à savoir si le titre original reflète bien le contenu de l'article, c'est une autre paire de manches...
Bonjour,

trick a aussi le sens d'astuce comme dans "tips and tricks" = trucs et astuces ou "bit tricks" = "astuces de manipulation de bits".
Le sens de tour est parfois correct mais n'a pas toujours une connotation péjorative.

EDIT: En relisant l'article original (et ses suites qui pour certaines expliquent les pièges) je pense que l'esprit du titre était plus astuces que pièges, mais bon je ne suis pas un traducteur chevronné. Il faut avouer que la langue anglaise est de loin supérieure à la langue française pour produire des titres concis qui «claquent» bien.
En tout cas bravo pour l'effort de traduction et le partage
kwariz est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 07/09/2012, 21h14   #8
Aleph69
Membre Expert
 
Homme
Chercheur
Inscription : mars 2010
Messages : 1 143
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Chercheur

Informations forums :
Inscription : mars 2010
Messages : 1 143
Points : 1 654
Points : 1 654
Bonjour,

n'étant pas bilingue, je ne peux pas affirmer quelle serait la meilleure traduction possible du titre original. J'ai le même point de vue que kwariz sur la signification du mot tricks dans le contexte du billet, mais bien sûr sans aucune certitude. Et comme ptyxs, je pense aussi qu'une partie de nos interrogations vient du fait que le titre original ne reflète pas non plus complètement le contenu du billet original. Tours semble toutefois être une traduction acceptable puisqu'elle est sémantiquement très proche de tricks : les sens positifs et négatifs du terme sont conservés (tours de magie ou de passe-passe mais aussi mauvais tour).

Concernant ma remarque initiale, je faisais plutôt référence à l'absence du terme format dans la traduction française, puisque c'est seulement cet aspect des nombres flottants que le billet explore. Si j'avais eu à traduire le titre, j'aurais sûrement proposé tours avec le format à virgule flottante mais à vrai dire sans être totalement convaincu non plus.

Le contenu du billet est bien traduit, compréhensible et intéressant et c'est ce que j'en retiens.
Aleph69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/09/2012, 13h24   #9
white_tentacle
Membre Expert
 
Avatar de white_tentacle
 
Inscription : novembre 2008
Messages : 973
Détails du profil
Informations forums :
Inscription : novembre 2008
Messages : 973
Points : 1 180
Points : 1 180
Puisqu’on parle de flottants, il me parait important de citer http://docs.oracle.com/cd/E19957-01/..._goldberg.html

C’est en anglais, c’est clairement moins abordable que l’article ici-traduit, qui est beaucoup plus didactique, mais pour toute personne utilisant l’informatique professionnellement, c’est un indispensable.
white_tentacle est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2012, 01h15   #10
FR119492
Rédacteur/Modérateur
 
Jean-Marc Blanc
Inscription : avril 2007
Messages : 2 837
Détails du profil
Informations personnelles :
Nom : Jean-Marc Blanc
Âge : 72

Informations forums :
Inscription : avril 2007
Messages : 2 837
Points : 3 971
Points : 3 971
Bonjour à tous!
Citation:
Puisqu’on parle de flottants, il me parait important de citer http://docs.oracle.com/cd/E19957-01/..._goldberg.html
Magnifique, ce document!
Jean-Marc Blanc
__________________
Calcul numérique de processus industriels
Formation, conseil, développement

Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)
FR119492 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2012, 09h36   #11
ptyxs
Membre éclairé
 
Inscription : août 2008
Messages : 301
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : août 2008
Messages : 301
Points : 300
Points : 300
Je remets le lien (pas utilisable dans le message précédent) :

http://docs.oracle.com/cd/E19957-01/..._goldberg.html
ptyxs est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2012, 10h44   #12
oodini
Membre Expert
 
Inscription : novembre 2004
Messages : 2 026
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 2 026
Points : 1 426
Points : 1 426
Citation:
Envoyé par kwariz Voir le message
trick a aussi le sens d'astuce comme dans "tips and tricks" = trucs et astuces
Dans tips and tricks, c'est tips qui a le sens d'astuces, pas tricks.
__________________
VDS "The C++ Standard Library" (Josuttis) -> 30 €
oodini est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/09/2012, 10h51   #13
oodini
Membre Expert
 
Inscription : novembre 2004
Messages : 2 026
Détails du profil
Informations forums :
Inscription : novembre 2004
Messages : 2 026
Points : 1 426
Points : 1 426
Citation:
Envoyé par Aleph69 Voir le message
Si j'avais eu à traduire le titre, j'aurais sûrement proposé tours avec le format à virgule flottante mais à vrai dire sans être totalement convaincu non plus.
Et pour cause : en français, cela donne une construction très bancale.

Un contributeur de ce fil a indiqué qu'un tour n'était pas forcément péjoratif, mais c'est selon moi faux. Un tour de magie, par exemple, a pour vocation à tromper notre vigilance ou nos constructions mentales (sur des enchaînements de mouvement, par exemple).

Un tour, c'est un mécanisme de duperie. Et il est volontaire de la part de son auteur. Je ne suis pas sûr qu'un nombre flottant ait la volonté de tromper ses utilisateurs...
__________________
VDS "The C++ Standard Library" (Josuttis) -> 30 €
oodini est déconnecté   Envoyer un message privé Réponse avec citation 01
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 01h54.


 
 
 
 
Partenaires

Hébergement Web