AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu Strings

Ein Thema von maximus Caesar · begonnen am 3. Sep 2007 · letzter Beitrag vom 3. Sep 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#1

Frage zu Strings

  Alt 3. Sep 2007, 15:25
Hallo!
Wenn ich einen String verwende, wieviel Speicher benötigt der?
Oder ist er Dynamisch?
Wenn ja, wieviel Speicher benötigt er mindestens?
Ich möchte Reale zahlen speichern, also mit Nachkommastellen, aber dafür so wenig speicher wie möglich brauchen. Real benötigt halt 48b und das ist mir zuviel
(es handelt sich um bis zu 5mio Speichersätze)
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Frage zu Strings

  Alt 3. Sep 2007, 15:30
Hallo,

ein String benötigt pro Zeichen 1 Byte und ein Byte für die Längenangabe.
Also mindestens 2 Byte maximal ....

Aber Deine Datenmenge, so groß ist die doch nicht.

48 Byte * 5 000 000 /1024 = 234375 KByte

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Frage zu Strings

  Alt 3. Sep 2007, 15:33
Die Datenmenge geht schon, aber bei der Verarbeitung werden nochmals einige Daten erzeugt, was dazu führen kann das die Datenmenge die 1GB grenze schnell überschreitet....

Danke für die schnelle Antwort!!!
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Frage zu Strings

  Alt 3. Sep 2007, 15:36
Zitat von Delphi-Hilfe:
ShortString 255 Zeichen 2 bis 256 Byte
AnsiString ~2^31 Zeichen 4 Byte bis 2 GB
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Gruber_Hans_12345
Online

Registriert seit: 14. Aug 2004
1.438 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Frage zu Strings

  Alt 3. Sep 2007, 15:50
ein real braucht doch keine 48 Byte sondern 48 Bit = 6 Byte

und ein String (zumindest ein "normaler" Delphi string) braucht noch mehr zb.: wird da pro String ein 4Byte Counter mitgeführt (und die Länge ist auch sicher eher 4 Byte groß)
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#6

Re: Frage zu Strings

  Alt 3. Sep 2007, 15:52
Zitat von maximus Caesar:
Ich möchte Reale zahlen speichern, also mit Nachkommastellen, aber dafür so wenig speicher wie möglich brauchen. Real benötigt halt 48b und das ist mir zuviel (es handelt sich um bis zu 5mio Speichersätze)
Wenn du die Zahlen im Dezimalsystem im String ablegen willst, dann ist das gefaehrlich. Es ergeben sich naemlich immer Ungenauigkeiten beim Umwandeln.
Was sind schon ein paar Megabyte. Wenn du sie brauchst, dann brauchst du sie halt. Da jeder String einzeln alloziiert ist, duerfte der reale Speicherverbrauch mit mindestens 5 Byte nicht wirklich besser sein.
  Mit Zitat antworten Zitat
KPBecker

Registriert seit: 1. Mär 2004
Ort: Mannheim
120 Beiträge
 
Delphi 2010 Architect
 
#7

Re: Frage zu Strings

  Alt 3. Sep 2007, 15:54
Aber:

Wenn du real-Größen zum Speichern und zum Lesen immer wieder in Zahlen (Ziffern) umwandelst, kann das bei häufigem R/W und großen Datenmengen empfindlich in die Rechenzeit gehen !

Außerdem braucht eine real-Größe nur 4-6-8 Byte. Da bist du mit der Zifferdarstellung schnell drüberhinaus.

Klaus-Peter
  Mit Zitat antworten Zitat
Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Frage zu Strings

  Alt 3. Sep 2007, 15:55
Die Zahlen haben maximal 3 Vorkomma und 2 Nachkomma Stellen...
Ich dachte Real benötigt 48b?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Frage zu Strings

  Alt 3. Sep 2007, 15:57
Dann wäre der String ja schon größer.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von maximus Caesar
maximus Caesar

Registriert seit: 26. Sep 2004
Ort: Biberach
319 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Frage zu Strings

  Alt 3. Sep 2007, 15:59
Ups, Stimmt ja....
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz