Bonjour à tous,
je récupère une trame d'une capacimètre sur un bus GPIB qui encode les données d'un nombre à virgule flottante à la norme IEEE754. Delphi est censé gérer cette norme.
Le problème est que je ne parviens pas à récupérer la valeur flottante de mon nombre. Je vous mets un petit code d'exemple pour vous montrer l'algo que j'emploie.
Normalement, si je ne me trompe pas ce code devrait me renvoyer la valeur suivant : -1.5, or il me renvoi 3.14616062615247E-319.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 procedure TForm1.Button1Click(Sender: TObject); var dataA : array [0..7] of char; Y : ^double; i:integer; begin dataA:= char($BF)+ char($F8)+ char($00)+ char($00)+ char($00)+ char($00)+ char($00)+ char($00); Y:=@dataA; showmessage(floattostr(Y^)); end;
Voila si quelqu'un à déjà eu ce genre de soucis
Merci.
Partager