![]() |
Inhalt des Speichers auslesen...
Hallo ich habe hier eine Frage. Ich möchte den Inhalt des Speicher wo meine Variable abgelegt ist, in Hexadezimaler Darstellung haben. Ist das nicht toll?? :)
Wie kann ich das realisieren. Die Adresse wo die Variable abgelegt ist, kriege ich durch den Pointer und weiter... Hier ist STOP. Helft mir.
Delphi-Quellcode:
var p:Pointer;
r:Real; begin r:=-32.2; p:=@r; end; |
Re: Inhalt des Speichers auslesen...
![]() |
Re: Inhalt des Speichers auslesen...
Zitat:
Aber IntToHex zu nutzen, war meine erste Gedanke bei Natürlichen Zahlen. |
Re: Inhalt des Speichers auslesen...
Zitat:
entweder
Delphi-Quellcode:
oder
Type P: PInt64;
IntToHex(P^, 8);
Delphi-Quellcode:
Int64, weil Real = Double und Double = 8 Byte und ebenfalls Int64 = 8 Byte.
Type P: Pointer;
IntToHex(PInt64(P)^, 8); |
Re: Inhalt des Speichers auslesen...
Zitat:
|
Re: Inhalt des Speichers auslesen...
Zitat:
|
Re: Inhalt des Speichers auslesen...
Ich möchte die Frage ein bisschen umformulieren
Wie kann ich den Wert der Varibalen die im Speicher lieget als Hex Darstellen |
Re: Inhalt des Speichers auslesen...
Zitat:
z.B. 46,416 (10) = 42 39 A8 F5 (16) - richtig bei mir 46,415 (10) = 40 47 35 1E B8 51 EB 85 (16) :gruebel: :? |
Re: Inhalt des Speichers auslesen...
Wie so denn eigentlich immer Speicher? Warum formatierst du die Variable nicht so wie du sie haben willst?
@himitsu: Im Speicher liegen sie nur in der Form von nullen und einsen vor, diese wiederum repräsentieren eine Ganzzahl, wie die Ganzzahl interpretiert wird ist Sache des Programmes. Daher kommen ja die Ungenauigkeiten von Fließkommazahlen, weil sie eben beim Ablegen in den Speicher in Ganzzahlen konvertiert werden müssen. Und eine Ganzzahl kann eine Fließkommazahl eben nicht genau abbilden. |
Re: Inhalt des Speichers auslesen...
Zitat:
Wie gesagt kann es erstens schonmal nicht stimmen, da Real aus 8 Bytes besteht (siehe OH) und somit bei dir eh was fehlen würde. [add] @Luckie: es ist dennoch kein Integer ... ein Integer ist ja och nur 'ne Art, wie die Daten dort interpretiert werden ... es könnte ja auch ein Cardinal sein, oder ein String, oder ... Es sind halt einfach nur binäre Daten. Aber wenn du es willst, dann besteht ein Real natürlich intern aus 2 "Integern" und noch ein paar zusätzlichen Bits :angel2: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:26 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