Welche Variable
Welche Variable
Hallo,
ich fange gerade ein neues Programm an und bin jetzt verunsichert, wie ich meine Variablen benennen soll. Ich habe im Hinterkopf, dass Integer nicht mehr so ganz eindeutig ist. Stimmt das? Ist Integer64 besser?
Und wie ist die Standardbezeichnung für einen real-Wert?
Zum Rechnen innerhalb des Programms brauche ich ein paar Integer- und ein paar Real-Varible. Auf die Genauigkeit kommt es nicht so genau drauf an. Was nehme ich da am Besten?
ich fange gerade ein neues Programm an und bin jetzt verunsichert, wie ich meine Variablen benennen soll. Ich habe im Hinterkopf, dass Integer nicht mehr so ganz eindeutig ist. Stimmt das? Ist Integer64 besser?
Und wie ist die Standardbezeichnung für einen real-Wert?
Zum Rechnen innerhalb des Programms brauche ich ein paar Integer- und ein paar Real-Varible. Auf die Genauigkeit kommt es nicht so genau drauf an. Was nehme ich da am Besten?
Re: Welche Variable
Vielleicht hilft das http://wiki.freepascal.org/Data_type/de oder das wikibooks.org.
Re: Welche Variable
Vielen Dank für diese Übersicht. Jetzt weiß ich auf jeden Fall, dass es noch weit mehr Datentypen gibt als ich dachte. Ich weiß aber trotzdem nicht, was ich nehmen soll. Manche Datentypen sind veraltet, andere wieder unpraktisch, weil vielleicht zu langsam oder nicht für alle Prozessoren geeignet. Ich wollte eigentlich wissen, was so die Standard-Datentypen sind für einen Integer- und einen Realwert. Wie schon gesagt, auf die Genauigkeit kommt es nicht an, aber es sollte dann auch nicht bei der nächsten Lazarusversion heißen, dass dieser Typ nicht mehr unterstützt wird oder nur noch aus Gründen der Abwärtskompatibilät verhanden ist.
Was nehmt Ihr so als Wald- und Wiesen-Integer?
Was nehmt Ihr so als Wald- und Wiesen-Integer?
Re: Welche Variable
Was soll denn an SmallInt bzw. LongInt nicht eindeutig sein?
Und was stimmt mit Single oder Double nicht?
Woher soll man wissen mit welchen Zahlen du arbeiten willst?
Und was stimmt mit Single oder Double nicht?
Woher soll man wissen mit welchen Zahlen du arbeiten willst?
Re: Welche Variable
Habe ich das behauptet?SoE hat geschrieben:Was soll denn an SmallInt bzw. LongInt nicht eindeutig sein?
Und was stimmt mit Single oder Double nicht?
Ich muss Zahlen von 1 bis 100 addieren, multiplizieren, subtrahieren und dividieren. Es spielt dabei nicht die geringste Rolle, ob das Ergebnis 8,1 oder 8,2 ist.
Dann frage ich jetzt anders: Mit welchen Datentypen kann Lazarus bei den heute üblichen Prozessoren und Betriebssystemen am schnellsten umgehen?
-
- Beiträge: 6914
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Welche Variable
Für Ganz-Zahlen, ganz normal einfach Integer.Dann frage ich jetzt anders: Mit welchen Datentypen kann Lazarus bei den heute üblichen Prozessoren und Betriebssystemen am schnellsten umgehen?
Für Fliesskommazahlen, ist es Single.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Welche Variable
Welche Datentypen sind denn da veraltet? Meinst du damit „Real“? Der ist nicht veraltet, der ist jetzt nur = Double! Gut, der stammt noch aus den Turbo Pascal zeiten als Mathematische Funktionen noch Emuliert wurden weil kein Mathe-Coprozessor vorhanden war, Single (4Byte) und Double(8Byte), konnten nur mit diesem verwendet werden. Also, egal welchen Datentype du da verwendest, der wird auch übermorgen noch gültig sein. Für diese Grundrechenarten die du genant hast würde ich einfach den Double-Type nehmen.Andromeda hat geschrieben: Manche Datentypen sind veraltet, andere wieder unpraktisch, weil vielleicht zu langsam oder nicht für alle Prozessoren geeignet. Ich wollte eigentlich wissen, was so die Standard-Datentypen sind für einen Integer- und einen Realwert.
Re: Welche Variable
Das sollte kein Vorwurf sein... ich war nur etwas verdutzt, das ist alles...Habe ich das behauptet?
Eigentlich läuft das so wie immer: Man reserviert den Speicher den man braucht und idealerweise nicht mehr. Falls man sich nicht sicher ist nimmt man eben etwas mehr bzw. den nächst größeren Wert.
Re: Welche Variable
Code: Alles auswählen
Standard DatenTypen für Zahlen:
kleine Zahlen (0 bis mehrere Tausend)
=====================================
byte Ganzzahlen von 0 bis 255 = 1 byte im RAM pro Zahl
shortInt Ganzzahlen von -128 bis 127 = 1 byte im RAM pro Zahl
word Ganzzahlen von 0 bis 65535 = 2 byte im RAM pro Zahl
smallInt Ganzzahlen von -32768 bis 32767 = 2 byte im RAM pro Zahl
größere Zahlen (Milliarden)
===========================
longInt Ganzzahlen von -2 MRD bis 2 MRD = 4 byte im RAM pro Zahl
(meistens integer, int32.. siehe Projekteinstellungen: Compiler)
cardinal Ganzzahlen von 0 bis 4 MRD = 4 byte im RAM pro Zahl
(longword, dword)
riesige Zahlen (Trillionen)
===========================
uInt64 Ganzzahlen von 0 TRIO bis 18 TRIO = 8 byte im RAM pro Zahl
(qword)
int64 Ganzzahlen von -9 TRIO bis 9 TRIO = 8 byte im RAM pro Zahl
Gleitkommazahlen und Ganzzahlen mit und ohne Vorzeichen
=======================================================
single Gleitkomma (Billiarden???) = 4 byte im RAM pro Zahl
(7 Stellen nach dem Komma)
double Gleitkomma (Billiarden???) = 8 byte im RAM pro Zahl
(15 Stellen nach dem Komma, doppelt so präzise)
//Double wird auf modernen Rechnern schneller verarbeitet hab' ich gehört.
//Probieren geht über studieren...
