Discussions au sujet de NI LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Hexadecimal négatif

Bonjour,

 

Est-ce possible d'obtenir une donnée hexadécimal à partir d'une commande décimale négative avec Labview?

 

lorsque je rentre la consigne -1 , l'indicateur renvoi FFFFFFFF.

 

Or, je voudrais l'affichage suivant : exemple :  -42 = -2A

 

Merci.

 

0 Kudos
Message 1 of 15
(10,970 Views)

Oui, en affichant la valeur dans un indicateur type "string".

 

HEX avec signe.png

 

Reste à savoir si l'affichage d'une valeur hexa avec un signe fait sens. La réponse vous appartient.

Message 2 of 15
(10,953 Views)

@ JB : " Reste à savoir si l'affichage d'une valeur hexa avec un signe fait sens "

 

Bonjour JB,

 

ta "remarque" m'interpelle et franchement, elle pique ma curiosité.

 

Pourquoi un nombre représenté en Hexa et précédé du signe négatif n'aurait-il pas de sens ?

 

Pour moi, toute quantité peut être, soit positive, soit négative ... et son "mode de représentation" est accessoire.

 

42 est en base 10 ... et 2A en base 16.

 

Pourquoi la base de représentation influencerait-elle le sens, ou le non sens du signe ?

 

Mais peut-être as-tu une autre vue des choses (probablement).

 

Ta vue des choses m'intéresse .. pourrais-tu développer ce qui te porte à cette remarque.

 

Merci JB.

 

 

0 Kudos
Message 3 of 15
(10,948 Views)

Bonjour, merci pour vos reponses.

En effet le signe de la valeur hexa fait sens.

Je ne l'avais pas précisé dans ma question mais en réalité je cherche a obtenir cette valeur en format numérique et non chaine.

J'utilise ces valeurs pour effectuer des opérations numériques via une carte I²C.
Dans le cas ou il est impossible d'obtenir un hexa négatif sous format numérique, j'essayerai "d'injecter" une trame binaire type U8 à la place...

 

Merci.

 

 

0 Kudos
Message 4 of 15
(10,928 Views)

Bonjour,

En soit l'affichage du signe "-" n'a pas de sens non plus dans une représentation hexadécimal. Cela me choque.

 

Cela reviendrais à mettre aussi un signe "-" en binaire, or on sait que le signe est déterminé par le bit de poids fort en binaire, donc en soit il est affiché.
C'est sur que dans le cadre de l'hexadécimal, celui-ci est moins trivial a détecté à l'écran.


Moi je poserais la question inverse, quel est l'intérêt dans ton application d'afficher le signe négatif en hexadécimal ? pourquoi ne pas faire un double affichage hexa / deci au pire ?


Bonne journée à tous.

 

EDIT : Nos réponse ce sont croisé.
S'il s'agit d'envoyer la valeur, quoi qu'il arrive les données seront traités à très bas niveau en tant que binaire, donc tu n'es pas censé te poser ce genre de question. Si ta cible sait qu'il s'agit d'un entier signé, il devrait interprété correctement ton hexadécimal en l'état.

 

“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 Kudos
Message 5 of 15
(10,925 Views)

@ driver23 : Dans le cas ou il est impossible d'obtenir un hexa négatif sous format numérique

 

les nombres hexa négatifs sous format numérique existent ...( comment pourrait-il en être autrement ?)

 

"FFFFFFD6" est bien la représentation numérique, et en hexa, de la quantité 42 négative. Ce, via la convention de représentation "complément à 2".

 

C'est uniquement une question de "mode de représentation".

 

Ce que tu aimerais ... c'est pouvoir représenter un nombre hexa négatif ... en utilisant la convention utilisée pour les nombres en base 10.

 

Là, effectivement ... mis à part une solution du type proposée par JB ... c'est le cul-de-sac sous LabVIEW.

 

LV ne propose pas de façon native ce type de représentation pour les hexa négatifs.

 

On pourrait même se demander "pourquoi" (?) ... peut-être une "idée" à proposer sur LV Idea Exchange.

 

En effet, dans le cas d'un indicateur, on peut facilement imaginer avoir le besoin (ou l'envie) d'afficher un hexa négatif sous une forme "plus facilement appréhendable pour l'Humain".

 

Ce qui ne changerait en rien que "pour le code" (et le µP) ... -42 en hexa serait toujours "FFFFFFD6" (seule représentation compréhensible pour nos ordinateurs).

 

Mais en ce qui me concerne, dans une pure optique IHM (interface Homme Machine), une représentation " - 2A" (pour -42 en base 10) ... serait une option qui aurait tout son sens.

 

Juste une question de "relation" entre l'Homme et la Machine.

 

 

 

 

 

 

Message 6 of 15
(10,920 Views)

@ Michael : " Cela reviendrais à mettre aussi un signe "-" en binaire, or on sait que le signe est déterminé par le bit de poids fort en binaire, donc en soit il est affiché."

 

et pourquoi pas ? .... - 5  ==  - 101

 

bien entendu qu'au niveau de la machine et du processeur .... il n'y aura "pas" ce signe "-" .

 

Personnellement, j'évoque uiquement l'interfaçage vers l'Humain.

0 Kudos
Message 7 of 15
(10,918 Views)

Ouadji,

 

Je ne suis pas pour ce genre d'initiative, car tout simplement en passant d'une IHM à une autre, si la personne n'a pas mis assez en avant son choix, tu te trouveras à te poser la question de savoir si -101 re présente -5 ou bien -101.


Si la personne cherche à "voir" une valeur négative, alors il faut passer par un conteneur "string" comme proposé précédemment, mais en faisant attention à bien clarifier la  base utilisé.

 

Cdt,


Michael

“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 Kudos
Message 8 of 15
(10,897 Views)

car tout simplement en passant d'une IHM à une autre, si la personne n'a pas mis assez en avant son choix,

tu te trouveras à te poser la question de savoir si -101 re présente -5 ou bien -101.

 

d'accord avec toi Michael ... il est nécessaire que "la base" soit explicite.

 

Ceci dit, ce problème existe "déjà". (et ne serait pas "nouveau" à l'utilisation du signe "-")

 

LabVIEW propose de pouvoir afficher le résultat dans une autre base sans pour autant visualiser celle-ci.

 

(l'option "show radix" n'est pas d'office)

 

alors dans ce cas ... 100 ... c'est quoi ? ... 4 en binaire, 100 en décimal ou 64 en octal ? (je ne parle même pas ici des nombres négatifs)

 

Je veux dire par là que prendre la précaution d'afficher "la base" ne serait pas un nouveau problème ... ce problème existe déjà.

0 Kudos
Message 9 of 15
(10,884 Views)

Tu preches un converti  😉


Dans un environnement multi -OS, multi-produit, et multi-developpeurs, je suis régulièrement confronté à cette problématique.

C'est pour cela que j'affiche tout le temps la base dans mes afficheurs, pour ne plus être dérangé par ce type de problématique.


Cdt,


Michael

“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 Kudos
Message 10 of 15
(10,880 Views)