Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

U32 ... avec virgule et décimales (??)

Bonjour à tous,

 

Avec un indicateur U32 il est possible d'avoir accès à la fenêtre "Display Format",

... et de configurer ce U32  avec "16 Digits of Precision".  (par exemple)

 

(même possibilité avec un : I32, I16, U16, I8, U8)

 

Avoir un U32 qui contient "175" et un indicateur qui me donne "175,0000000000000000" ....

n'est pas "mathématiquement" faux ... mais ce type d'affichage au "sens d'un U32" est (à mon avis) totalement absurde.

 

De plus ... cette possibilité de LV ouvre la porte sur des erreurs d'affichage, comme par exemple ceci :  Smiley indifférent

 

 

yyyyyy.png

 

 

Là ... je pense qu'il ne s'agit plus d'un simple "comportement", mais qu'il y a un soucis.

 

Pour les numériques I32, U32, I16, U16 ... etc ... , je pense qu'il faudrait "revoir" l'accès à la fonction "Digits of precision"

 

et d'une façon plus globale (pour ces mêmes numériques) il me semble qu'il faudrait "repenser" l'accès à la partie grisée de la fenêtre ci-dessous.

 

 

xxx19.png

 

 

Pouvoir afficher "79,9999... " avec un U32 ne devrait-il pas faire l'objet d'un correctif ?

 

L'accès à "Digits of Precisions" pour les "numériques simples" ne devrait-il pas être "repensé" ?

 

L'ensemble du comportement de LabVIEW à ce sujet vous semble-t-il cohérent ?

 

Qu'en pensez-vous ?

Message 1 sur 17
4 792 Visites

Je suis tout à fait d'accord avec toi 😄

 

C'est pas comme si ce sujet était génant, et me posait problème en ce moment.

Je me permets afin de donner un peu de contexte à cette découverte le lien du post initial à titre informatif :

http://forums.ni.com/t5/Discussions-au-sujet-de-NI/Curieux-Arrondi-Addition/td-p/3274519/page/1

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 2 sur 17
4 785 Visites

Bonjour Michael,

 

sur le dernier message du thread dont tu as donné le lien ... j'ai placé un lien vers celui-ci.

 

Mais j'ai oublié de le faire en "sens inverse" ... merci de l'avoir fait.

0 Compliments
Message 3 sur 17
4 781 Visites

Un grand "merci" ... mais je ne mérite aucun compliments ici !

Je ne suis strictement pour rien dans la mise en évidence de ce comportement .... le véritable cerveau est thib_fr !

 

Ceci étant dit,

 

Le sujet semble "intéresser".

Il s'agit d'un simple "retour utilisateur", le seul but étant toujours le même (quoi d'autres?) faire progresser LV.

 

L'avis de NI sur le sujet serait des plus intéressants. (et je pense "attendu")

à l'avance, merci à eux.

 

 

 

0 Compliments
Message 4 sur 17
4 745 Visites

[HS ON]

Ouadji a écrit :

Un grand "merci" ... mais je ne mérite aucun compliments ici !

 

 

Tu as raison Ouadji, en plus sinon tu vas me passer devant après sur la semaine 😛

[HS OFF]

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
Message 5 sur 17
4 739 Visites

Je "remonte" ce sujet (une seule fois) ... j'aimerais avoir la position de NI sur la question. Merci.

0 Compliments
Message 6 sur 17
4 616 Visites

c'est peut être pour faire du binaire en logique floue Smiley MDR

0 Compliments
Message 7 sur 17
4 613 Visites
0 Compliments
Message 8 sur 17
4 589 Visites

voilou, j'ai eu mon explication.

 

Avec LabVIEW, le format d'affichage est toujours le format Float, même pour les numériques "simples". (il n'existe pas de Contrôle ayant un format spécifique U32).

(ça, je ne savais pas, j'ai appris quelque chose !)

Simplement, pour les numériques "simples" (I32,U32,I16, etc ..), le paramètre "digits of précision" est placé à 0.

Notre "79,9999" est uniquement un résultat visuel et ne concerne absolument pas la contenu réel du fil ... soit, 80.

D'ailleurs, si on prend (par exemple) un DBL et que l'on place son "digits of précision" à N...

et qu' ensuite on remplace ce DBL par un U32 ... labVIEW reset automatiquement le paramètre "digits of précision" à 0.

 

alors ?

 

Premièrement, modifier la valeur (zéro) de "digits of précision" pour tous les numériques "simples" n'a pas de sens.

LabVIEW, dans l'absolu, autorise de le faire ... par polyvalence de la boîte de dialogue des numériques ... mais cela n'a aucun sens.

 

Deuxièmement ... si on le fait malgré tout, puisqu'un Contrôle est d'office un Float, on retombe sur les soucis des floats ... les arrondis, etc.

Et comme il n'est pas possible de représenter avec un Float et avec une précision absolue le nombre "80",

à partir d'un "digits of précision" >15 on affiche "79,999..". Et même sans cela, afficher 80,0000 avec un U32 est vide de sens.

 

Le "centre" de ce problème est que LabVIEW n'a qu'un seul format pour afficher les numériques ... le format à virgule flottante.

(je parle bien d'affichage et rien d'autres .... un U32 occupera toujours 32bits en mémoire, et sur un fil une valeur U32 de 80 sera toujours 80)

 

Message 9 sur 17
4 585 Visites

Merci pour ces précisions Ouadji, cela explique bien des choses, et confirme l'intérêt du contrôle que j'ai mis en place dans mon système 😄

“En science, la phrase la plus excitante que l'on peut entendre, celle qui annonce des nouvelles découvertes, ce n'est pas "Eureka" mais c'est "drôle"
Isaac ASIMOV
0 Compliments
Message 10 sur 17
4 565 Visites