Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Variablen Definition in Delphi

Empfohlene Antworten

Veröffentlicht

Hi, ich habe ein Problem, weiß allerdings nicht wo das rein gehört.

Ich schreibe grade an einer Software mit der man VIA SNMP Statistiken auslesen kann. Das Funktioniert auch sauber.

Allerdings sind einige Wert so groß, dass sie nicht mehr in Cardinal Variablen rein passen. Womit kann ich eine Größere Zahl Speichern sollte im Milliarden bereich sein bis zu 100Milliarden

Ja wollte ich, damit weiter rechenen. Die Werte müssen schon stimmen.

Kann ich den damit nocht weiter rechnen wenn ich sie in ein Char Array wandle.

Ich weiss zwar nicht, bis wohin Cardinal geht, weil ich keine Ahnung von Delphi habe, aber warum speicherst du die Zahl nicht in einem anderen Zahlensystem (z.B. zur Basis 20, 30 oder 100)?

Ist der Datentyp begrenzt, auf die Länge der (sprich vor und nach dem Komma), oder stört dich "nur" die Überlaufgrenze des Bereichs. Wenn letzeres der Fall ist, verschiebe das Komma der Zahlen nach links.

:eek: An deiner sog. Website besteht wirklich noch erheblicher Nacholbedarf.

Aber selbst ein Anfänger im webdesign würde niemals weiße Schrift auf einen fast weißen Hintergrund verwenden.

Ich bin Systemintegrator und kann das um einiges besser.

Wie meinst du das mit anderen Zahlensystemen.

Wie machst du denn das bitte mit Basis 100?

Würde mich auch mal interresieren.

es gibt die möglichkeit jede einzelne ziffer der großen zahl in eine (doppelt) verkette liste oder dynamischen array zu speichern und dann wie in der schule auf papier damit rechnen.

Allerdings sind einige Wert so groß, dass sie nicht mehr in Cardinal Variablen rein passen. Womit kann ich eine Größere Zahl Speichern sollte im Milliarden bereich sein bis zu 100Milliarden

Cardinal = 32bit ohne Vorzeichen. Probier doch mal Int64 als Typ, also 64bit, mit vorzeichen. 2^63-1 ist dabei der größte Wert, sollte also reichen.

Arithmetische Operationen in Delphi liefern allerdings nur dann Int64 zurück, wenn sie für einen oder mehrere Int64 Operanden ausgeführt werden. Int64 + Cardinal liefert also ein falsches Ergebnis, Int64 + Int64(Cardinal) allerdings das richtige.

Die Int64 Implementierung in Delphi ist aber wie ich mal gelesen habe nicht 100% korrekt, also vorallem Geschw.-mäßig wäre es da noch nich so toll. Für ein paar Berechnungen sollte das aber kaum auffallen, da die unterschiede eh im ms Bereich lagen (wenn da auch doch recht hoch).

EDIT:

Noch eine Anmerkung aus der Delphi-Hilfe:

Einige Standardroutinen mit Integer-Argumenten verkürzen Int64-Werte auf 32 Bit. Die Routinen High, Low, Succ, Pred, Inc, Dec, IntToStr und IntToHex unterstützen Int64-Argumente jedoch vollständig. Auch die Funktionen Round, Trunc, StrToInt64 und StrToInt64Def liefern Int64-Werte zurück. Einige wenige Routinen können keine Int64-Werte verarbeiten.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.