![]() |
Double in zwei Integer
Moin Leute !
Hab wieder mal ein Problem : Wie kann ich eine Double Variable (8 byte also 64 bit) in zwei Integer werte aufteilen? Also so das ich die ersten 32 bit in einen Integer speichere und dann die letzten 32 bit in einen anderen Integer ? Geht das überhaupt? |
Re: Double in zwei Integer
Du könntest den Speicherinhalt eines Doubles natürlich in zwei Integer aufteilen. Die Frage ist nur, ob es sinnvoll ist. Denn ein Double hat eine ganz andere Zahlendarstellung als ein Integer.
|
Re: Double in zwei Integer
Jo , genau das will ich !
Das am Eende was völlig komisches dabei rauskommt ist schon ok , denn ich brauche das ganze für eine Verschlüsselung. |
Re: Double in zwei Integer
Wenn du meinst...
Das sollte so gehen:
Delphi-Quellcode:
var
i1, i2: Integer; pi: PInteger; d: Double; begin d := 17.0; pi := PInteger(@d); i1 := pi^; pI := PInteger(Pointer(Integer(@d)+4)); i2 := pi^; end; |
Re: Double in zwei Integer
Optimal , Funktioniert !
Danke !! |
Re: Double in zwei Integer
Moin Zusammen,
nur der Vollständigkeit halber mal die Version mit varianten Teilen in Records:
Delphi-Quellcode:
type
TSplitDouble = record case boolean of true : (dblValue : Double); false : (iHigh : integer; iLow : integer;); end; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var sdWork : TSplitDouble; begin sdWork.dblValue := 129090.0075709; ShowMessage(IntToStr(sdWork.iHigh)+#13#10+IntToStr(sdWork.iLow)); end; |
Re: Double in zwei Integer
Das so einfach ist hätt ich jetzt nich gedacht!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz