Thema: Sudoku

Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#18

Re: Sudoku

  Alt 29. Aug 2005, 06:15
Zitat:
ich weiß aber noch nicht, wie ich mit den bitcodierten cardinals schnittmengen rausbekommen kann.
Schnittmenge = A and B; also eine UND Verknüpfung aller Bits, übrig bleiben alle Bits die in allen Werten gesetzt sind. Vergleichbar mit Sets -> [A] * [B] in PASCAL.
Unions, Vereinigungsmenge = A or B; das Resultat enthält alle Bits die in A wie auch B gesetzt sind.

Zitat:
bzw wie ich zählen kann wieviele werte enthalten sind, ohne eine schleife durchlaufen zu lassen.
Bits zählen. Man kann dies per Schleife, per Lookup Tabelle oder per Berechnungenen machen. Suche mal nach BitCount, CountsOfBits(), BitWeigth(), Hamming Distance etc.

Willst du testen ob nur 1 Bit in deinen cardinals gesetzt ist so geht dies mit

if (A <> 0) and (A and (A -1) = 0) then Willst du das MSB eines Cardinals ermitteln dann mit

 t := A and -A; Gruß Hagen
  Mit Zitat antworten Zitat