Speicheroptimierung BIT statt BOOLEAN

  • 1
  • 2
  • Seite 2 von 2
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: Speicheroptimierung BIT statt BOOLEAN

 · 
Gepostet: 26.03.2018 - 17:44 Uhr  ·  #9
Hi Thorsten,

geht das nicht?
Code
Buffer : Word;
          QK00[@Buffer, 0] : bit; 
          QK01[@Buffer, 1] : bit; 
          QK02[@Buffer, 2] : bit; 
          QK03[@Buffer, 3] : bit; 
          QK04[@Buffer, 4] : bit; 
          QK05[@Buffer, 5] : bit; 
          QK06[@Buffer, 6] : bit; 
          QK07[@Buffer, 7] : bit;  
          QK10[@Buffer, 8] : bit; 
          QK11[@Buffer, 9] : bit; 
          QK12[@Buffer, 10] : bit; 
          QK13[@Buffer, 11] : bit; 
          QK14[@Buffer, 12] : bit; 
          QK15[@Buffer, 13] : bit; 
          QK16[@Buffer, 14] : bit; 
          QK17[@Buffer, 15] : bit; 


Harry
Harry
Moderator
Avatar
Geschlecht:
Herkunft: zwischen Augsburg und Ulm
Alter: 60
Beiträge: 2155
Dabei seit: 03 / 2003
Betreff:

Re: Speicheroptimierung BIT statt BOOLEAN

 · 
Gepostet: 26.03.2018 - 18:09 Uhr  ·  #10
Doch das geht
Zitat
Der Typ der Speicherstelle (byte, word) bestimmt dann auch, ob 8 oder 16 Bits zur Verfügung stehen. Nach der Deklaration einer allgemeinen Variablen erfolgt dann die eigentliche BIT-Deklaration. Der erste Parameter bezeichnet dabei eine Speicherstelle, der zweite Parameter das entsprechende Bit dieser Speicherstelle. Es können auch symbolische Parameter eingesetzt werden.


laut Compiler-Handbuch.

Sorry mit dem Tablet kann ich nicht editieren :(

Harry

[Edit]Schade finde ich immer noch, daß man die Bits nicht mit einem Index (Array] versehen kann, um in einer Schleife alle Bits durchzuackern.

Achja editieren geht, aber copy/paste beim editieren nicht. Das Teil fügt immer (!) am Anfang des Editors ein.
Merlin
Administrator
Avatar
Geschlecht:
Alter: 25
Beiträge: 1474
Dabei seit: 03 / 2005
Betreff:

Re: Speicheroptimierung BIT statt BOOLEAN

 · 
Gepostet: 26.03.2018 - 22:46 Uhr  ·  #11
@Harry

It is not really the same, because there can only be one 'Buffer' as a variable, but several variables of record type 'Buffer'.

With indexing through bits, it is kind of possible with Bit( a, b) etc., but I agree not pretty. If properties array properties were supported like Delphi it would be nicer, but probably not easy to implement.

Arrays of bool will always be faster and take less code space than array of bit. So it is only an issue if you have plenty of code space but not enough ram.
Avra
Schreiberling
Avatar
Geschlecht:
Herkunft: Belgrade, Serbia
Alter: 54
Homepage: rs.linkedin.com/in…
Beiträge: 653
Dabei seit: 07 / 2002
Betreff:

Re: Speicheroptimierung BIT statt BOOLEAN

 · 
Gepostet: 27.03.2018 - 10:59 Uhr  ·  #12
Zitat geschrieben von pvs-deck

der Compiler verschwendet ja leider immer ein komplettes Byte für einen BOOL.

This has already been discussed and some sort of workaround was found:
topic.php?t=3172&highlight=bit&page=1
  • 1
  • 2
  • Seite 2 von 2
Gewählte Zitate für Mehrfachzitierung:   0

Registrierte in diesem Topic

Aktuell kein registrierter in diesem Bereich

Die Statistik zeigt, wer in den letzten 5 Minuten online war. Erneuerung alle 90 Sekunden.
MySQL Queries: 15 · Cache Hits: 14   74   88 · Page-Gen-Time: 0.026037s · Speichernutzung: 2 MB · GZIP: ein · Viewport: SMXL-HiDPI