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.

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;
Normalement, si je ne me trompe pas ce code devrait me renvoyer la valeur suivant : -1.5, or il me renvoi 3.14616062615247E-319.

Voila si quelqu'un à déjà eu ce genre de soucis

Merci.