Speicheroptimierung BIT statt BOOLEAN

  • 1
  • 2
  • Page 2 of 2
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Speicheroptimierung BIT statt BOOLEAN

 · 
Posted: 26.03.2018 - 17:44  ·  #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
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2134
Registered: 03 / 2003
Subject:

Re: Speicheroptimierung BIT statt BOOLEAN

 · 
Posted: 26.03.2018 - 18:09  ·  #10
Doch das geht
Quote
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
Gender:
Age: 24
Posts: 1409
Registered: 03 / 2005
Subject:

Re: Speicheroptimierung BIT statt BOOLEAN

 · 
Posted: 26.03.2018 - 22:46  ·  #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
Gender:
Location: Belgrade, Serbia
Age: 53
Homepage: rs.linkedin.com/in…
Posts: 653
Registered: 07 / 2002
Subject:

Re: Speicheroptimierung BIT statt BOOLEAN

 · 
Posted: 27.03.2018 - 10:59  ·  #12
Quote by 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
  • Page 2 of 2
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   74   88 · Page-Gen-Time: 0.029776s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI