PureBasic

Forums PureBasic
Nous sommes le Mar 23/Juil/2019 14:27

Heures au format UTC + 1 heure




Poster un nouveau sujet Répondre au sujet  [ 37 messages ]  Aller à la page Précédente  1, 2, 3
Auteur Message
 Sujet du message:
MessagePosté: Ven 29/Mai/2009 19:29 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
djes a écrit:
Dobro a écrit:
purée !!

normal , A est un entier !!
donc 5.9999 , c'est un arrondi en fait !! :)

bon je retourne dans les doc sur Tahiti moi :)

:lol:
C'est pas ça du tout, mais bon! mdr!


vas y explique, je fatigue ! 8O

c'est bien que A va recevoir 6 au lieu de 5,9999999 non ?


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Ven 29/Mai/2009 21:35 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4217
Localisation: Arras, France
Essaye ça :lol:
Code:
Debug 5.9999999999999994
Debug 5.9999999999999995


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Sam 30/Mai/2009 3:36 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
plus assez de bit pour garder les chiffres apres la virgule ?... 8O

Code:
Debug 5.9999999999999994
Debug 5.9999999999999995
Debug ""
Debug ""
Debug Bin(5.9999999999999994)
Debug Bin(5.9999999999999995)
Debug ""
Debug "si < 10 , mieux vaux faire "
Debug Hex(5.9999999999999994)
Debug Hex(5.9999999999999995)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Sam 30/Mai/2009 9:36 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4217
Localisation: Arras, France
C'est un peu compliqué à expliquer ; tu as une très bonne wiki là dessus : http://fr.wikipedia.org/wiki/Virgule_flottante, et là http://fr.wikipedia.org/wiki/IEEE_754 (je préfère la version anglaise http://en.wikipedia.org/wiki/IEEE_754-1985) ; voir aussi les liens http://babbage.cs.qc.edu/IEEE-754/Decimal.html (essaye 5.9999999999999995) , et le cours en PDF qui donne le détail http://hal.inria.fr/inria-00071477

En gros, les types normalisés utilisés par les ordinateurs pour représenter les nombres à virgule flottante ont leurs limites. Quand tu écris des nombres, l'interpréteur les convertit en binaire. Comme ceux-là ne peuvent être représentés avec la formule normalisée (voir ci-dessus), il sont arrondis. Il faut le savoir et en tenir compte. (ce n'est pas spécifique à PB)

Ca peut être gênant pour sa comptabilité, ou pour la 3D. Ainsi, dans les rotations, on cumule souvent de petits angles. Au bout de plusieurs millions de rotations, il y a un écart très significatif ! Alors il faut soit augmenter la précision (tu comprends pourquoi j'ai été content de voir arriver les .d!), soit utiliser d'autres trucs.


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Sam 30/Mai/2009 13:32 
Hors ligne

Inscription: Lun 26/Avr/2004 0:40
Messages: 14535
oui en clair c'est le fameux test d'hebdogiciel

elever 20 fois 2 a la puissance 2

puis faire 20 fois la racine , on ne retombe pas sur 2

c'etait un test d'hebdogiciel poiur savoir si l'on avait
un ordinateur précis ou pas !! le TI99/4A faisait parti des plus précis (premier vrais 16 bits oblige );)


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 01/Juin/2009 13:07 
Hors ligne
Avatar de l’utilisateur

Inscription: Mer 28/Jan/2004 20:58
Messages: 4312
Localisation: Clermont ferrand OU Olsztyn
non, en fait, c'est que dépasse la résolution maximum d'un flottant.

Donc ta valeur mis dans ton float est arrondi avant de pourvoir la stocké dans le format float.

Faire

Float.f = 5.99999999999999999999999999999999

c'est un peu comme si on essayait de rentrer la valeur 8go dans un long
ça ne rentre pas

_________________
Je ne suis pas à moitié Polonais mais ma moitié est polonaise ... Vous avez suivi ?

[Intel quad core Q9400 2.66mhz, ATI 4870, 4Go Ram, XP (x86) / 7 (x64)]


Haut
 Profil  
Répondre en citant le message  
 Sujet du message:
MessagePosté: Lun 01/Juin/2009 13:11 
Hors ligne
Avatar de l’utilisateur

Inscription: Ven 11/Fév/2005 17:34
Messages: 4217
Localisation: Arras, France
Le Soldat Inconnu a écrit:
non, en fait, c'est que dépasse la résolution maximum d'un flottant.

Donc ta valeur mis dans ton float est arrondi avant de pourvoir la stocké dans le format float.

Faire

Float.f = 5.99999999999999999999999999999999

c'est un peu comme si on essayait de rentrer la valeur 8go dans un long
ça ne rentre pas

C'est ce qu'on a dit, Dobro et moi, en d'autres termes...


Haut
 Profil  
Répondre en citant le message  
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 37 messages ]  Aller à la page Précédente  1, 2, 3

Heures au format UTC + 1 heure


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages

Rechercher:
Aller à:  

 


Powered by phpBB © 2008 phpBB Group | Traduction par: phpBB-fr.com
subSilver+ theme by Canver Software, sponsor Sanal Modifiye