/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Hex til float
Fra : Peter Andersen


Dato : 02-09-08 19:34

Hej med jer

Jeg har et problem med at få konverteret nogle data fra hex tol
floatingpoint.

Jeg modtager via serielporten 4 bit 3E 2C 26 94 De repræsenterer en
floatingpoint værdi der er 0,1681159.
Hvordan får jeg det konverteret. Jeg bruger den gratis Turbo Delphi.

Jeg skal gerne kunne konvertere begge veje.

På forhånd tak for hjælpen.

--
/Peter Andersen
/Skanderborg

 
 
Stig Johansen (03-09-2008)
Kommentar
Fra : Stig Johansen


Dato : 03-09-08 00:43

Peter Andersen wrote:

> Hej med jer
>
> Jeg har et problem med at få konverteret nogle data fra hex tol
> floatingpoint.
>
> Jeg modtager via serielporten 4 bit 3E 2C 26 94 De repræsenterer en
> floatingpoint værdi der er 0,1681159.
> Hvordan får jeg det konverteret. Jeg bruger den gratis Turbo Delphi.
>
> Jeg skal gerne kunne konvertere begge veje.

4 _bytes_ ikke ?
brug HexToBin og BinToHex den anden vej.

Det er muligt at du skal bytte om på rækkefølgen afhængig af om det er
little eller big endian.

--
Med venlig hilsen
Stig Johansen

Uffe Kousgaard (03-09-2008)
Kommentar
Fra : Uffe Kousgaard


Dato : 03-09-08 07:51

"Peter Andersen" <peters@snaps.dk> wrote in message
news:48bd8707$0$56776$edfadb0f@dtext02.news.tele.dk...
> Hej med jer
>
> Jeg har et problem med at få konverteret nogle data fra hex tol
> floatingpoint.
>
> Jeg modtager via serielporten 4 bit 3E 2C 26 94 De repræsenterer en
> floatingpoint værdi der er 0,1681159.
> Hvordan får jeg det konverteret. Jeg bruger den gratis Turbo Delphi.

Det er uklart om dine hex-værdier er tekststrenge eller i virkeligeden bare
tal mellem 0 og 255. Her er i alle fald et par eksempler på konvertering:

var
l: longword;
s: single absolute l;
begin
l:= $3E2C2694;
showmessage(floattostr(s));

s:= 0.17;
showmessage(inttohex(l,4));
end;



Peter Andersen (03-09-2008)
Kommentar
Fra : Peter Andersen


Dato : 03-09-08 21:22

On Wed, 03 Sep 2008 08:51:27 +0200, Uffe Kousgaard wrote:
>
> Det er uklart om dine hex-værdier er tekststrenge eller i virkeligeden
> bare tal mellem 0 og 255. Her er i alle fald et par eksempler på
> konvertering:
>
> var
> l: longword;
> s: single absolute l;
> begin
> l:= $3E2C2694;
> showmessage(floattostr(s));
>
> s:= 0.17;
> showmessage(inttohex(l,4));
> end;


Mine hex-værdier er tal mellem 0 og 255.
SÃ¥ dit foreslag virkede helt efter hensigten.
Mange tak for hjælpen.


--
/Peter Andersen
/Skanderborg

Søg
Reklame
Statistik
Spørgsmål : 177416
Tips : 31962
Nyheder : 719565
Indlæg : 6407859
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste