FORUMS PROFESSIONNELS
WINDEV
,
WEBDEV
et
WINDEV Mobile
Accueil
|
Messages récents
|
Connexion
|
Déconnexion
|
Français
Accueil
→
WINDEV 2024
→
[WD 9] Le type numérique : bug??
[WD 9] Le type numérique : bug??
Débuté par uriel, 17 nov. 2005 13:25 - 4 réponses
Connectez-vous…
uriel
#1
Posté le 17 novembre 2005 - 13:25
Bonjour,
Afin d'obtenir une plus grande précision sur mes calculs, je suis en train
de tester le
type "numérique" qui n'existait pas sous windev 7.5.
Seulement, je rencontre un problème étrange : j'ai des erreurs de calcul
lorsque j'additionne
des valeurs : une inversion de signe se fait si j'additionne des négatifs.
Quelqu'un a-t-il déjà rencontré ce problème?
Merci de votre aide.
Uriel AURA
Signaler
0
0
uriel
#2
Posté le 17 novembre 2005 - 16:41
Rectification :
Je pense savoir ce qui déclenche le bug, mais je ne vois pas la solution.
Il s'agit en fait d'une multiplication.
Démonstration, prenez le code suivant qui fonctionne :
i est un entier
nSomme, nIncrement sont des numériques (10,10)
// Initialisation de la fonction Hasard()
InitHasard()
// Génération aléatoire d'un nombre réel
nIncrement = Hasard(0, 9999999999) / 1000000000
nSomme = 0.0
POUR i = 1 A 1000
nSomme += nIncrement
nIncrement = Hasard(0, 9999999999) / 1000000000
Trace(nSomme)
FIN
Maintenant, si on change : nSomme += nIncrement
par : nSomme += nIncrement * 1.0
Je vous laisse constater le bug...
Quelle est la solution?
Merci d'avance.
Uriel AURA
"Uriel AURA (Dyn'R)" <uriel@dynr.com> a écrit dans le message de news:
437c635b$1@news.pcsoft.fr...
Bonjour,
Afin d'obtenir une plus grande précision sur mes calculs, je suis en train
de tester le
type "numérique" qui n'existait pas sous windev 7.5.
Seulement, je rencontre un problème étrange : j'ai des erreurs de calcul
lorsque j'additionne
des valeurs : une inversion de signe se fait si j'additionne des négatifs.
Quelqu'un a-t-il déjà rencontré ce problème?
Merci de votre aide.
Uriel AURA
Signaler
0
0
philippe.noireau
#3
Posté le 17 novembre 2005 - 17:32
C'est pas plutôt l'éternel problème de base de l'informatique en général sur les réels ? (déjà évoqué des dizaines de fois !)
Utiliser le type monétaire pour avoir des claculs justes
Signaler
0
0
uriel
#4
Posté le 17 novembre 2005 - 19:00
Heu
Non, je ne pense pas : là c'est carrément une vraie erreur de calcul et non
une erreur d'arrondi.
(pour info, j'utilisais DEJA le type monétaire, mais il n'est limité qu'à 6
chiffres après la virdule).
Essayez le code que j'ai copié, vous verrez ce dont je veux parler : dans la
fenêtre de trace, on voit
des valeurs qui s'ajoutent normalement, mais dans certains cas il y a une
inversion de signe très
très bizarre : ça ressemble à un problème de bit de signe ou de complément
mal géré... enfin c'est ce que j'en dis...
Uriel AURA
"Phil" <philippe.noireau@prive.com> a écrit dans le message de news:
437caa46$1@news.pcsoft.fr...
C'est pas plutôt l'éternel problème de base de l'informatique en général
sur les réels ? (déjà évoqué des dizaines de fois !)
Utiliser le type monétaire pour avoir des claculs justes
Signaler
0
0
pmll
#5
Posté le 23 novembre 2005 - 12:55
utilise les numériques signés
Signaler
0
0
→ Revenir à WINDEV 2024
WINDEV 2024
WINDEV 2024
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
WINDEV (précédentes versions)
WEBDEV (précédentes versions)
WEBDEV (précédentes versions)
WINDEV Mobile (précédentes versions)
WINDEV Mobile (précédentes versions)
Etats & Requêtes
Etats & Requêtes
Hors-sujet
Hors-sujet
Outils
Outils
WINDEV 26
WINDEV 2024
WINDEV 2024
WINDEV 25
WEBDEV 2024
WEBDEV 2024
WINDEV Mobile 2024
WINDEV (précédentes versions)
Français
English
Español
Portuguesa
Fermer cette fenêtre
Type de recherche
Uniquement les sujets
Tous les messages
Période de recherche
Date indifférente
Moins d'une heure
Moins de 24 heures
Moins d'une semaine
Moins d'un mois
Moins d'un an
Annuler
Aperçu de votre message
Ajouter une image
Importer une image depuis une URL
Envoyer une image depuis un fichier de votre disque
Déposez ici un fichier ou cliquez sur "Parcourir..."
ou
Annuler
0%
WLangage
SQL
XML, HTML
JAVA, Javascript
Texte