Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - uint64 in string umwandeln
gerd99 - Do 30.04.20 15:31
Titel: uint64 in string umwandeln
Delphi-Quelltext
1: 2: 3: 4:
| var z:uint64;
label1.Caption:=inttostr(z); |
inttostr scheint hier bei der Umwandlung von uint64 nicht mehr zu gehen. Was soll ich hernehmen?
Gerd
gerd99 - Do 30.04.20 15:52
Nein, das nimmt er nicht an. Logisch wäre
uint64tostr aber das geht auch nicht.
Gerd
Moderiert von Th69: Delphi-Tags hinzugefügt
Gausi - Do 30.04.20 16:12
Bei mir zeigt dieser Code
Delphi-Quelltext
1: 2: 3: 4: 5:
| var z: UInt64; begin z := High (UInt64); showmessage(UIntToStr(z)); end; |
den erwarteten Wert von 18.446.744.073.709.551.615 an (ohne die Punkte natürlich). Probiert mit Delphi 2009 und der aktuellen CE.
Was passiert denn bei dir?
gerd99 - Do 30.04.20 16:45
Bir mir zeigt er nur 4294967295 an. Ich habe aber als Zielplattform 64 bit gewaehlt.
Gerd
LorenzS - Do 30.04.20 17:16
Mit was und wie befüllst du
z?
Zitat: |
Ich habe aber als Zielplattform 64 bit gewaehlt. |
Zielplattform hat nichts mit den Datentypen zu tuen, die gibt es auch bei 32-Bit Anwendungen.
64Bit Plattform nimmt man wenn das Programm 2 GB Arbeitsspeicher verbraucht.
gerd99 - Do 30.04.20 17:16
Halt, NUR bei dem Beispiel habe ich mich vertippt und uint bloss eingegeben.
Also das zeigt er bei mir auch an.
Aber nachwievor, weiss ich nicht, wie ich die Zahl in einen String umwandele.
Gerd
gerd99 - Do 30.04.20 17:24
aha, mit Uinttostr funktioniert es, sehe ich gerade.
gerd99 - Do 30.04.20 18:00
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| procedure BitSet(var TestZahl :uint64; bitnr:uint64); begin TestZahl:= testzahl OR (1 shl BitNr); end;
procedure TForm1.start; var z:uint64; begin z:=0; bitset(z,32); showmessage(UIntToStr(z)); edit1.text:=(UIntToStr(z)); label1.Caption:=uinttostr(z);
end; |
Warum kommt jetzt bei z die Zahl 1 raus. Ich sage doch, es muss doch eine ganz grosse Zahl rauskommen? Ich komme da nicht ganz mit.
Gerd
Gausi - Do 30.04.20 18:57
Da musst du die 1 auf eine 64-Bit-Zahl casten
Delphi-Quelltext
1:
| TestZahl:= testzahl OR (UIint64(1) shl BitNr); |
gerd99 - Do 30.04.20 19:34
Danke, und jetzt wo ich es sehe erinnere ich mich auch wieder daran. Aber ich waere von alleine nicht drauf gekommen.
Gerd
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!