Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by eric_draven,
10. Okt 2011
Das ist schon klar, das mache ich ja auch, wenn ich bei den 16Byte auf die 128 einzelnen Bits zugreife.
Die Frage ist:
Wenn ich eine Boolsche Variable deklariere braucht die ein Byte (ByteBool).
Wenn ich nun zwei Boolsche Variablen deklariere, brauchen die nun zwei Byte oder ist der Compiler so klever die in ein Byte zu packen ?
Alleine der Pointer auf den Bool dürfte aber unter 32bit 4Byte...
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by eric_draven,
10. Okt 2011
Nochmals Danke :-)
Hehe, hatte mir fast die gleiche Lösung überlegt:
For i:=Low(Status) to High(Status) do Begin
For i2 := 7 downto 0 do
If (Status AND (1 SHL i2)) <> 0 then s2 := s2 + '1'
Else s2 := s2 + '0';
s2 := s2 + #32;
End;
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by eric_draven,
10. Okt 2011
Bin ich doof, logisch es gibt ja gar kein "Bit", das ist mindestens ein Byte im Speicher.
Bleibt mir also nichts, als 16 Bytes zu nehmen und die Bits zu extrahieren oder zu shiften oder sonstwas ?
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by eric_draven,
10. Okt 2011
Hallo DPler,
ich empfange über eine Schnittstelle einen String, der nach einem festen Protokoll aufgebaut ist.
Um möglichst schnell und effektiv zu sein benutze ich Pointer, um verschiedene Typen aus diesem String zu holen/darauf zu verzeigern (Byte, Real, etc. -Werte).
Das funktioniert auch einwandfrei; allerdings kommt u.A. auch ein 128bit breites Array von Bits (Boolean) hinzu. Klar...