Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Anzahl Elemente in "set of"

  Alt 8. Apr 2009, 10:43
Anders als durchitterieren geht nicht. Du musst halt irgendwie die (binäre) Quersumme bilden. Und dafür gibt es keinen mir bekannten Intel-OpCode. Eine mögliche Delphi-Funktion kann auch nur eine For-Schleife verwenden.

Hier ist das ganze über eine Lookup-Tabelle gelöst:
Code:
UInt8 bitcount8(UInt8 c)
{
  const UInt8 lookup[] = {0,1,1,2,1,2,2,3,1,2,2,3,2,3,3,4};
  UInt8 result;

  result = lookup[c&0xF];
  result += lookup[(c>>4)&0xF];

  return result;
}
Aber ob dies zwingend notwendig ist? Wie das Fischlein schon sagte, sind 256 Elemente nicht soooo viel.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat