LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

conversion tableau octet en float

bonjour,

J'ai trouvé de nombreux posts concernant les conversions de types mais vraiment ma solution

- J'ai un tableau d'octet

- un paquet de 4 octets dans mon tableau coorespond à un nombre du type float

Comment obtenir la valeur de ce nombre ( du type float ) à partir des quatres octets (séparés)

Merci de votre aide

0 Kudos
Message 1 of 6
(4,924 Views)
Salut,

C'est tout simple, tu mets tes 4 octets en tableau et tu fais un "cast"... comme ça :



Message Edité par TiTou le 12-18-2006 04:53 PM


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

Download All
Message 2 of 6
(4,916 Views)
Merci, j'étais dans cette direction, mais il me reste toujours un problème,

En prenant votre exemple : j'ai un nombre : 525.5 en float
J'obtiens théoriquement:

0 signe
10001000 : exposant
1000001101.1 mandise (525.5 )

soit:

01000100  01000001  10110000  00000000
    octet1       octet2        octet3         octet4

Si je saisie ces 4 octets, j'obteins 774.75 et non 525.5

Ou est-ce que je me plante ?

Merci de votre aide

0 Kudos
Message 3 of 6
(4,902 Views)
Pour être sur de ne pas se tromper, le mieux est de le faire dans l'autre sens (SGL > tableau d'octet)



Et la tu vois que ton erreur est que c'est le prenier bit du premier octet qui détermine le signe (et non pas le premier octet) les autres bits du premier octet sont utilisés pour la valeur.
Si tu veux saveur à quoi correspond chaque octet (signe, mantise, exposant) je crois que tu dois pouvoir trouver ça dans l'aide...

Bon courage !


Message Edité par TiTou le 12-19-2006 09:27 AM


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

Message 4 of 6
(4,899 Views)
Effectivement,
j'crois que j'ai pas tout capté concernant la mantise,
mais l'essentiel c'est que ça fonctionne
Merci de ton aide
 
0 Kudos
Message 5 of 6
(4,894 Views)
BTW : un lien vers une discussion sur un sujet similaire, pourquoi 3*34.3 n'est pas égal à 103.2 ?

avec qlq techniques et explication dignes d'intérêt 😉

Message Edité par TiTou le 12-19-2006 11:47 AM


We have two ears and one mouth so that we can listen twice as much as we speak.

Epictetus

Antoine Chalons

0 Kudos
Message 6 of 6
(4,887 Views)