Jag har ett tal $alts för vilket gäller:
- $alts innehåller totalt 4 bitar, alltså 0 < $alts < 15 (< , ej <= se nedan)
- Bitmönstret för $alts innehåller 2 eller 3 ettor. Alltså kan $alts inte vara lika med 0, 1, 2, 4, 8 eller 15.
Jag har ett annat tal, $comp, som innehåller "komplementet" till $alts,
framtaget genom 15 ^ $alts (XOR).
Jag har ett tredje tal, $test där jag vill kunna komma fram till följande:
- Om $test har någon bit gemensam med $comp:
Det borde inte vara något problem:
if ($test & $comp) //funkar väl?
2 a) I så fall om $test har exakt en bit gemensam med $alts om $alts har två satta bitar, och i så fall vilken.
2 b) om $alts har 3 satta bitar, så ska det gälla om $test har en eller två av de bitarna satta, vill fortfarande veta vilka bitar det gäller.
Gemensamt för 2) är alltså att $test har en äkta delmängd av de satta bitarna i $alts.
Hur i hecklefjäll skriver man det??? Tacksam för hjälp för nu står det bara fullkomligt still högst upp... :x
Jag tänkte först lägga detta i
webForum > OS & Programrelaterade forum > Programmering > Programmering - Övrigt, men sen tänkte jag att svaret kanske var beroende på språk, så därför ligger det här... Om det var fel, så ber jag om ursäkt!