Avatar billede screwdriver Nybegynder
08. september 2004 - 12:06 Der er 1 løsning

konvertering af Double til 8 bytes

Hej

Jeg har brug for at konvertere en double til x antal bytes.
I delphis hjælp har jeg set at:

Type    Range            Significant digits    Size in bytes
Double    5.0 x 10^-324 ..  15-16                    8
        1.7 x 10^308

så jeg kunne forestille mig noget lignende

Var
  i : Integer ;
  D : Double ;
  ByteArray : array[0..7] of byte

begin 
  for i := 0 to 7 do begin
    ByteArray[i] := D * og det er så her jeg har brug for hjælp
  end ;
end ;

og hvis der så samtidig er nogen der kan forklare mig hvordan man kan skrive 1.7 x 10^308 med kun 8 bytes ? eller læser jeg det forkert ?

/Screwdriver
Avatar billede screwdriver Nybegynder
08. september 2004 - 14:06 #1
Jeg fandt selv svaret. Der var en anden herinde som havde haft samme problem med en single

Det kommer her:

type
  PByteArray = ^TByteArray ;
  TByteArray = Array[0..7] of byte ;

procedure TForm1.Button1Click(Sender: TObject);
Var
  D : Double ;
  ByteArray : PByteArray ;
  i : Integer ;
  pD : pDouble ;
begin

  D := 1.41 ;
  ByteArray := @D ;

  Edit1.Text := '' ;
  for i := 0 to 7 do
    Edit1.Text := Edit1.Text + IntToStr(ByteArray[i]) + ',' ;

  pD := Pointer(ByteArray) ;
  Edit2.Text := FloatToStr ( pD^ ) ;
end;
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester