Longint immer vier byte?

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
Antworten
pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Longint immer vier byte?

Beitrag von pluto »

Hallo,
Ich lese gerade hier
http://www.dsdt.info/tutorials/streams/?page=2" onclick="window.open(this.href);return false;
das ein longint immer vier byte speichert.

meine Frage ist jetzt: sind es immer vier byte?
egal wie hoch die zahl ist ob ich nun
33 speichere oder 100005 es sind immer vier byte ?
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

Ja
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

Danke für deine Antwort !
MFG
Michael Springwald

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

in der Reference guide steht auch nochmal genau drin wielang jeder typ ist ftp://ftp.freepascal.org/pub/fpc/docs-pdf/ref.pdf
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

vielen dank, ist leider in englisch !
die Größe kann ich ja auch mit SizeOf(Datentyp) raußbekommen ! was mich nur wunder ist das es egal ist wie lang bzw. wie groß eine zahl ist, es wird immer 4 byte abgespeichert... wie ist das möglich ?

PS:
bisher habe ich mich dafür nicht Intrisiert aber jetzt schon !
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10860
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben:vielen dank, ist leider in englisch !
die Größe kann ich ja auch mit SizeOf(Datentyp) raußbekommen ! was mich nur wunder ist das es egal ist wie lang bzw. wie groß eine zahl ist, es wird immer 4 byte abgespeichert... wie ist das möglich?
Wie wäre es anders möglich? ;-)
Longint ist Longint (4 Byte)
Du kannst ja einen anderen Typ nehmen: z.B. Shortint oder Byte
Aber es ist natürlich nach oben hin nicht egal, wie Gross deine Zahl ist.
Sie muss schon Platz haben in dem Typen.

Vielleicht hilft das: http://wiki.freepascal.org/Integer/de" onclick="window.open(this.href);return false;

pluto
Lazarusforum e. V.
Beiträge: 7192
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Beitrag von pluto »

vielen dank für erste nur ich verstehe immer noch nicht ganz warum für eine zahl die 2 stellen hat immer 4 bit verwendet wird !

z.b. bei zwei stellen könnte der speicher platzt doch deutlich kleiner werden, als wenn ich 8 stellen habe !!!
MFG
Michael Springwald

Benutzeravatar
theo
Beiträge: 10860
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

pluto hat geschrieben:vielen dank für erste nur ich verstehe immer noch nicht ganz warum für eine zahl die 2 stellen hat immer 4 bit verwendet wird !

z.b. bei zwei stellen könnte der speicher platzt doch deutlich kleiner werden, als wenn ich 8 stellen habe !!!
Wie gesagt, dann nimm halt einen anderen Typen, wenn du weisst, dass deine Zahl nicht grösser wird als was darin Platz hat.

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Beitrag von Christian »

vielen dank für erste nur ich verstehe immer noch nicht ganz warum für eine zahl die 2 stellen hat immer 4 bit verwendet wird !

z.b. bei zwei stellen könnte der speicher platzt doch deutlich kleiner werden, als wenn ich 8 stellen habe !!!
und wer soll das verwalten ? wie lang eine zahl ist
dazu bräuchte man für jede variable ein dynamisch verwaltetes stück ram das ist aufwand ohne ende und macht dein programm mindestens um faktor 5 langsamer
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten