Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Mächtigkeit einer Menge (https://www.delphipraxis.net/92089-maechtigkeit-einer-menge.html)

Stillmatic 14. Mai 2007 13:32


Mächtigkeit einer Menge
 
Wie kann man die Mächtigkeit einer Menge ermitteln, also die Anzahl der Elemente die in einer Menge enthalten sind, die ungleich '' sind???

Diesen Post versteh ich nämlich nicht wirklich!
http://www.delphipraxis.net/internal...ct.php?t=96712

Das ganze möchte ich in einer Funktion schreiben die die Mächtigkeit zurückliefert!!

alzaimar 14. Mai 2007 13:39

Re: Mächtigkeit einer Menge
 
Sets werden als 8-Byte Blöcke gespeichert, pro Bit ein Element der Menge (deshalb sind Mengen auf 255 Elemente beschränkt).

Der einzige offizielle Weg ist, für alle Elemente zu prüfen, ob Sie in der Menge sind.

Der inoffizielle Weg macht sich das interne Format der Mengen (8 Bytes) zunutze und ermittelt die Anzahl der gesetzten Bits. Auch hier gibt es keine echte Funktion, sodaß shmia einfach für jedes Nibble (4 bit) eine Lookup-Tabelle der Anzahl im Nibble gesetzten Bits erstellt hat. Dann addiert er für jedes der 16 (=2 x 8 Bytes) Nibbles die Werte aus der Lookuptabelle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz