1) das was ich gepostet habe ist kein komplettes c-programm
da gehört noch mind:
Code:
#include <stdio.h>
#include <stdlib.h>
int main()
{
.....
}
drumherum

2) probier das mal, und poste dann die fehler.
3) unter welchen os programmierst du? und mit welchem compiler ? z.b. gcc unter linux ...
4) the_int & pattern: am beispiel anhand von 4 bits:
sei the_int = 5 = [0,1,0,1]
und pattern zum anfang [1,0,0,0]
[0,1,0,1] & [1,0,0,0] = 0
dann jeweils pattern = pattern >> 1;
[0,1,0,1] & [0,1,0,0] = 1
[0,1,0,1] & [0,0,1,0] = 0
[0,1,0,1] & [0,0,0,1] = 1
das if (the_int & pattern) wird wahr wenn im ergebnis von the_int & pattern auch nur ein bit auf 1 steht.
also wenn a = b & c;
und a,b,c sind vom typ int.
dann ergibt sich das ergebnis c aus der
bitweisen UND-vernüpfung von b und c.
also [aN, .. a1, a0] = [bN AND cN, ...., b1 AND c1, b0 AND c0]